diff --git a/COGNAC b/COGNAC
index 382811c..0a5617f 160000
--- a/COGNAC
+++ b/COGNAC
@@ -1 +1 @@
-Subproject commit 382811ca013791f89ffcf444e933dbccc60a2c17
+Subproject commit 0a5617f451a8ea0422d7888c733b6afaa21b0dc1
diff --git a/local-tests.sh b/local-tests.sh
index 6afbabf..1e4b233 100755
--- a/local-tests.sh
+++ b/local-tests.sh
@@ -43,7 +43,7 @@ oapi-cli --password=useless --login=non-existant CreateVms ReadVms ReadVms --
echo "[Test unknown user is unknown OK]"
trap "echo [Test Create vms and read with user 0 FAIL]" ERR
-oapi-cli --password='ashita wa dochida' --login='joe' CreateVms ReadVms ReadVms --Filters.VmIds[] i-00000003 | jq .Vms > /dev/null
+oapi-cli --password='ashita wa dochida' --login='joe' CreateVms --ImageId ami-ffffff00 ReadVms ReadVms --Filters.VmIds[] i-00000003 | jq .Vms > /dev/null
echo '[Test Create vms and read with user 0 OK]'
trap "echo [Test read vm with user and --raw-print 0 FAIL]" ERR
diff --git a/main-helper.h b/main-helper.h
index d1f1ddb..52662a1 100644
--- a/main-helper.h
+++ b/main-helper.h
@@ -34,10 +34,18 @@ struct ptr_array {
} \
} while (0)
+/*
+ * use to be sizeof v, but if I pass "" to SET_NEXT, sizeof v is 1, and I expect
+ * char *,
+ * because the array can contain int and double too, I'll gowith allocated the
+ * biggerst size for all
+ */
+#define OBJ_SIZE 8
+
#define SET_NEXT(a,v,pa) do { \
int cnt; \
if (!a) { \
- a = calloc(64, sizeof(v)); \
+ a = calloc(64, OBJ_SIZE); \
if (!a) break; \
if (ptr_array_append(pa, a) < 0) \
break; \
@@ -45,10 +53,10 @@ struct ptr_array {
for (cnt = 0; a[cnt]; ++cnt); \
if (cnt && (cnt % 63) == 0) { \
int idx = ptr_array_get_idx(pa, a); \
- pa->ptrs[idx] = realloc(a, (cnt + 1 + 64) * sizeof(v)); \
+ pa->ptrs[idx] = realloc(a, (cnt + 1 + 64) * OBJ_SIZE); \
if (!pa->ptrs[idx]) { free(a); break; } \
a = pa->ptrs[idx]; \
- memset(a + cnt + 1, 0, 64 * sizeof(v)); \
+ memset(a + cnt + 1, 0, 64 * OBJ_SIZE); \
} \
a[cnt] = v; \
} while (0)
diff --git a/main.c b/main.c
index 6a1e511..eea22cb 100644
--- a/main.c
+++ b/main.c
@@ -417,17 +417,17 @@ int with_parser(void *s, char *str, char *aa, struct ptr_array *pa);
int accepter_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct accepter_net *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "IpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "IpRange argument missing\n");
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
@@ -442,27 +442,27 @@ int accepter_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int access_key_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct access_key *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccessKeyId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccessKeyId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccessKeyId argument missing\n");
s->access_key_id = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "ExpirationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ExpirationDate argument missing\n");
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -477,32 +477,32 @@ int access_key_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int access_key_secret_key_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct access_key_secret_key *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccessKeyId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccessKeyId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccessKeyId argument missing\n");
s->access_key_id = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "ExpirationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ExpirationDate argument missing\n");
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "SecretKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecretKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecretKey argument missing\n");
s->secret_key = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -517,7 +517,7 @@ int access_key_secret_key_parser(void *v_s, char *str, char *aa, struct ptr_arra
int access_log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct access_log *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "IsEnabled")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsEnabled")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_enabled = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_enabled = 1;
@@ -527,17 +527,17 @@ int access_log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsEnabled require true/false\n");
}
} else
- if ((aret = argcmp(str, "OsuBucketName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuBucketName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuBucketName argument missing\n");
s->osu_bucket_name = aa; // string string
} else
- if ((aret = argcmp(str, "OsuBucketPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuBucketPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuBucketPrefix argument missing\n");
s->osu_bucket_prefix = aa; // string string
} else
- if ((aret = argcmp(str, "PublicationInterval")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicationInterval")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicationInterval argument missing\n");
s->is_set_publication_interval = 1;
s->publication_interval = atoi(aa);
@@ -552,79 +552,100 @@ int access_log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int account_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct account *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "AdditionalEmails")) == 0 || aret == '=') {
- TRY(!aa, "AdditionalEmails argument missing\n");
- s->additional_emails_str = aa;
+ if ((aret = strcmp(str, "AdditionalEmails")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AdditionalEmails argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AdditionalEmails require an index\n");
+ if (s->additional_emails) {
+ for (; s->additional_emails[last]; ++last);
+ }
+ if (pos < last) {
+ s->additional_emails[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->additional_emails, "", pa);
+ SET_NEXT(s->additional_emails, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AdditionalEmails argument missing\n");
+ s->additional_emails_str = aa;
+ }
} else if (!(aret = strcmp(str, "AdditionalEmails[]")) || aret == '=') {
TRY(!aa, "AdditionalEmails[] argument missing\n");
SET_NEXT(s->additional_emails, (aa), pa);
} else
- if ((aret = argcmp(str, "City")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "City")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "City argument missing\n");
s->city = aa; // string string
} else
- if ((aret = argcmp(str, "CompanyName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CompanyName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CompanyName argument missing\n");
s->company_name = aa; // string string
} else
- if ((aret = argcmp(str, "Country")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Country")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Country argument missing\n");
s->country = aa; // string string
} else
- if ((aret = argcmp(str, "CustomerId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CustomerId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CustomerId argument missing\n");
s->customer_id = aa; // string string
} else
- if ((aret = argcmp(str, "Email")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Email")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Email argument missing\n");
s->email = aa; // string string
} else
- if ((aret = argcmp(str, "FirstName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FirstName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FirstName argument missing\n");
s->first_name = aa; // string string
} else
- if ((aret = argcmp(str, "JobTitle")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "JobTitle")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "JobTitle argument missing\n");
s->job_title = aa; // string string
} else
- if ((aret = argcmp(str, "LastName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastName argument missing\n");
s->last_name = aa; // string string
} else
- if ((aret = argcmp(str, "MobileNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MobileNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MobileNumber argument missing\n");
s->mobile_number = aa; // string string
} else
- if ((aret = argcmp(str, "PhoneNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PhoneNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PhoneNumber argument missing\n");
s->phone_number = aa; // string string
} else
- if ((aret = argcmp(str, "StateProvince")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateProvince")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateProvince argument missing\n");
s->state_province = aa; // string string
} else
- if ((aret = argcmp(str, "VatNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VatNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VatNumber argument missing\n");
s->vat_number = aa; // string string
} else
- if ((aret = argcmp(str, "ZipCode")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ZipCode")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ZipCode argument missing\n");
s->zip_code = aa; // string string
@@ -639,12 +660,12 @@ int account_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int api_access_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct api_access_policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "MaxAccessKeyExpirationSeconds")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaxAccessKeyExpirationSeconds")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MaxAccessKeyExpirationSeconds argument missing\n");
s->is_set_max_access_key_expiration_seconds = 1;
s->max_access_key_expiration_seconds = atoi(aa);
} else
- if ((aret = argcmp(str, "RequireTrustedEnv")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RequireTrustedEnv")) == 0 || aret == '=' || aret == '.') {
s->is_set_require_trusted_env = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->require_trusted_env = 1;
@@ -664,33 +685,96 @@ int api_access_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int api_access_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct api_access_rule *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ApiAccessRuleId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ApiAccessRuleId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ApiAccessRuleId argument missing\n");
s->api_access_rule_id = aa; // string string
} else
- if ((aret = argcmp(str, "CaIds")) == 0 || aret == '=') {
- TRY(!aa, "CaIds argument missing\n");
- s->ca_ids_str = aa;
+ if ((aret = strcmp(str, "CaIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaIds require an index\n");
+ if (s->ca_ids) {
+ for (; s->ca_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_ids, "", pa);
+ SET_NEXT(s->ca_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaIds argument missing\n");
+ s->ca_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaIds[]")) || aret == '=') {
TRY(!aa, "CaIds[] argument missing\n");
SET_NEXT(s->ca_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Cns")) == 0 || aret == '=') {
- TRY(!aa, "Cns argument missing\n");
- s->cns_str = aa;
+ if ((aret = strcmp(str, "Cns")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Cns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Cns require an index\n");
+ if (s->cns) {
+ for (; s->cns[last]; ++last);
+ }
+ if (pos < last) {
+ s->cns[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cns, "", pa);
+ SET_NEXT(s->cns, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Cns argument missing\n");
+ s->cns_str = aa;
+ }
} else if (!(aret = strcmp(str, "Cns[]")) || aret == '=') {
TRY(!aa, "Cns[] argument missing\n");
SET_NEXT(s->cns, (aa), pa);
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
@@ -705,12 +789,12 @@ int api_access_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int application_sticky_cookie_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct application_sticky_cookie_policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CookieName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CookieName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CookieName argument missing\n");
s->cookie_name = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyName argument missing\n");
s->policy_name = aa; // string string
@@ -725,22 +809,22 @@ int application_sticky_cookie_policy_parser(void *v_s, char *str, char *aa, stru
int backend_vm_health_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct backend_vm_health *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "StateReason")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateReason")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateReason argument missing\n");
s->state_reason = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -755,7 +839,7 @@ int backend_vm_health_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int block_device_mapping_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct block_device_mapping_created *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Bsu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Bsu")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Bsu argument missing\n");
@@ -772,7 +856,7 @@ int block_device_mapping_created_parser(void *v_s, char *str, char *aa, struct p
s->bsu_str = aa;
}
} else
- if ((aret = argcmp(str, "DeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceName argument missing\n");
s->device_name = aa; // string string
@@ -787,7 +871,7 @@ int block_device_mapping_created_parser(void *v_s, char *str, char *aa, struct p
int block_device_mapping_image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct block_device_mapping_image *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Bsu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Bsu")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Bsu argument missing\n");
@@ -804,12 +888,12 @@ int block_device_mapping_image_parser(void *v_s, char *str, char *aa, struct ptr
s->bsu_str = aa;
}
} else
- if ((aret = argcmp(str, "DeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceName argument missing\n");
s->device_name = aa; // string string
} else
- if ((aret = argcmp(str, "VirtualDeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualDeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualDeviceName argument missing\n");
s->virtual_device_name = aa; // string string
@@ -824,7 +908,7 @@ int block_device_mapping_image_parser(void *v_s, char *str, char *aa, struct ptr
int block_device_mapping_vm_creation_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct block_device_mapping_vm_creation *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Bsu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Bsu")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Bsu argument missing\n");
@@ -841,17 +925,17 @@ int block_device_mapping_vm_creation_parser(void *v_s, char *str, char *aa, stru
s->bsu_str = aa;
}
} else
- if ((aret = argcmp(str, "DeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceName argument missing\n");
s->device_name = aa; // string string
} else
- if ((aret = argcmp(str, "NoDevice")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NoDevice")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NoDevice argument missing\n");
s->no_device = aa; // string string
} else
- if ((aret = argcmp(str, "VirtualDeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualDeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualDeviceName argument missing\n");
s->virtual_device_name = aa; // string string
@@ -866,7 +950,7 @@ int block_device_mapping_vm_creation_parser(void *v_s, char *str, char *aa, stru
int block_device_mapping_vm_update_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct block_device_mapping_vm_update *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Bsu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Bsu")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Bsu argument missing\n");
@@ -883,17 +967,17 @@ int block_device_mapping_vm_update_parser(void *v_s, char *str, char *aa, struct
s->bsu_str = aa;
}
} else
- if ((aret = argcmp(str, "DeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceName argument missing\n");
s->device_name = aa; // string string
} else
- if ((aret = argcmp(str, "NoDevice")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NoDevice")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NoDevice argument missing\n");
s->no_device = aa; // string string
} else
- if ((aret = argcmp(str, "VirtualDeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualDeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualDeviceName argument missing\n");
s->virtual_device_name = aa; // string string
@@ -908,7 +992,7 @@ int block_device_mapping_vm_update_parser(void *v_s, char *str, char *aa, struct
int bsu_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct bsu_created *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -918,17 +1002,17 @@ int bsu_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkDate argument missing\n");
s->link_date = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeId argument missing\n");
s->volume_id = aa; // string string
@@ -943,7 +1027,7 @@ int bsu_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int bsu_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct bsu_to_create *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -953,22 +1037,22 @@ int bsu_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "Iops")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Iops")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Iops argument missing\n");
s->is_set_iops = 1;
s->iops = atoi(aa);
} else
- if ((aret = argcmp(str, "SnapshotId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SnapshotId argument missing\n");
s->snapshot_id = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeSize argument missing\n");
s->is_set_volume_size = 1;
s->volume_size = atoi(aa);
} else
- if ((aret = argcmp(str, "VolumeType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeType argument missing\n");
s->volume_type = aa; // string string
@@ -983,7 +1067,7 @@ int bsu_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int bsu_to_update_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct bsu_to_update_vm *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -993,7 +1077,7 @@ int bsu_to_update_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "VolumeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeId argument missing\n");
s->volume_id = aa; // string string
@@ -1008,17 +1092,17 @@ int bsu_to_update_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int ca_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct ca *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CaFingerprint")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CaFingerprint")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CaFingerprint argument missing\n");
s->ca_fingerprint = aa; // string string
} else
- if ((aret = argcmp(str, "CaId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CaId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CaId argument missing\n");
s->ca_id = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
@@ -1033,7 +1117,7 @@ int ca_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int catalog_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct catalog *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Entries")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Entries")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -1068,42 +1152,42 @@ int catalog_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int catalog_entry_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct catalog_entry *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Category")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Category")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Category argument missing\n");
s->category = aa; // string string
} else
- if ((aret = argcmp(str, "Flags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Flags")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Flags argument missing\n");
s->flags = aa; // string string
} else
- if ((aret = argcmp(str, "Operation")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Operation")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Operation argument missing\n");
s->operation = aa; // string string
} else
- if ((aret = argcmp(str, "Service")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Service")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Service argument missing\n");
s->service = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Title")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Title")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Title argument missing\n");
s->title = aa; // string string
} else
- if ((aret = argcmp(str, "Type")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Type")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Type argument missing\n");
s->type = aa; // string string
} else
- if ((aret = argcmp(str, "UnitPrice")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UnitPrice")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UnitPrice argument missing\n");
s->is_set_unit_price = 1;
s->unit_price = atof(aa);
@@ -1118,7 +1202,7 @@ int catalog_entry_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct catalogs *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Entries")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Entries")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -1143,17 +1227,17 @@ int catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->entries_str = aa; // array ref CatalogEntry ref
}
} else
- if ((aret = argcmp(str, "FromDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FromDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FromDate argument missing\n");
s->from_date = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "ToDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ToDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ToDate argument missing\n");
s->to_date = aa; // string string
@@ -1168,32 +1252,32 @@ int catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int client_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct client_gateway *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BgpAsn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BgpAsn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BgpAsn argument missing\n");
s->is_set_bgp_asn = 1;
s->bgp_asn = atoi(aa);
} else
- if ((aret = argcmp(str, "ClientGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientGatewayId argument missing\n");
s->client_gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "ConnectionType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ConnectionType argument missing\n");
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -1228,67 +1312,67 @@ int client_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int consumption_entry_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct consumption_entry *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Category")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Category")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Category argument missing\n");
s->category = aa; // string string
} else
- if ((aret = argcmp(str, "FromDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FromDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FromDate argument missing\n");
s->from_date = aa; // string string
} else
- if ((aret = argcmp(str, "Operation")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Operation")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Operation argument missing\n");
s->operation = aa; // string string
} else
- if ((aret = argcmp(str, "PayingAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PayingAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PayingAccountId argument missing\n");
s->paying_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Price")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Price")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Price argument missing\n");
s->is_set_price = 1;
s->price = atof(aa);
} else
- if ((aret = argcmp(str, "Service")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Service")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Service argument missing\n");
s->service = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Title")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Title")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Title argument missing\n");
s->title = aa; // string string
} else
- if ((aret = argcmp(str, "ToDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ToDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ToDate argument missing\n");
s->to_date = aa; // string string
} else
- if ((aret = argcmp(str, "Type")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Type")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Type argument missing\n");
s->type = aa; // string string
} else
- if ((aret = argcmp(str, "UnitPrice")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UnitPrice")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UnitPrice argument missing\n");
s->is_set_unit_price = 1;
s->unit_price = atof(aa);
} else
- if ((aret = argcmp(str, "Value")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Value")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Value argument missing\n");
s->is_set_value = 1;
s->value = atof(aa);
@@ -1303,41 +1387,83 @@ int consumption_entry_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int dedicated_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct dedicated_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "CpuGeneration")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CpuGeneration")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CpuGeneration argument missing\n");
s->is_set_cpu_generation = 1;
s->cpu_generation = atoi(aa);
} else
- if ((aret = argcmp(str, "DedicatedGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DedicatedGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DedicatedGroupId argument missing\n");
s->dedicated_group_id = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -1352,7 +1478,7 @@ int dedicated_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int dhcp_options_set_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct dhcp_options_set *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Default")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Default")) == 0 || aret == '=' || aret == '.') {
s->is_set_default_arg = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->default_arg = 1;
@@ -1362,38 +1488,101 @@ int dhcp_options_set_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("Default require true/false\n");
}
} else
- if ((aret = argcmp(str, "DhcpOptionsSetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DhcpOptionsSetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DhcpOptionsSetId argument missing\n");
s->dhcp_options_set_id = aa; // string string
} else
- if ((aret = argcmp(str, "DomainName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DomainName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DomainName argument missing\n");
s->domain_name = aa; // string string
} else
- if ((aret = argcmp(str, "DomainNameServers")) == 0 || aret == '=') {
- TRY(!aa, "DomainNameServers argument missing\n");
- s->domain_name_servers_str = aa;
+ if ((aret = strcmp(str, "DomainNameServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DomainNameServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DomainNameServers require an index\n");
+ if (s->domain_name_servers) {
+ for (; s->domain_name_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->domain_name_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->domain_name_servers, "", pa);
+ SET_NEXT(s->domain_name_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DomainNameServers argument missing\n");
+ s->domain_name_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "DomainNameServers[]")) || aret == '=') {
TRY(!aa, "DomainNameServers[] argument missing\n");
SET_NEXT(s->domain_name_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "LogServers")) == 0 || aret == '=') {
- TRY(!aa, "LogServers argument missing\n");
- s->log_servers_str = aa;
+ if ((aret = strcmp(str, "LogServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LogServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LogServers require an index\n");
+ if (s->log_servers) {
+ for (; s->log_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->log_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->log_servers, "", pa);
+ SET_NEXT(s->log_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LogServers argument missing\n");
+ s->log_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "LogServers[]")) || aret == '=') {
TRY(!aa, "LogServers[] argument missing\n");
SET_NEXT(s->log_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "NtpServers")) == 0 || aret == '=') {
- TRY(!aa, "NtpServers argument missing\n");
- s->ntp_servers_str = aa;
+ if ((aret = strcmp(str, "NtpServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NtpServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NtpServers require an index\n");
+ if (s->ntp_servers) {
+ for (; s->ntp_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->ntp_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ntp_servers, "", pa);
+ SET_NEXT(s->ntp_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NtpServers argument missing\n");
+ s->ntp_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "NtpServers[]")) || aret == '=') {
TRY(!aa, "NtpServers[] argument missing\n");
SET_NEXT(s->ntp_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -1428,37 +1617,37 @@ int dhcp_options_set_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int direct_link_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct direct_link *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Bandwidth")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Bandwidth")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Bandwidth argument missing\n");
s->bandwidth = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkId argument missing\n");
s->direct_link_id = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkName argument missing\n");
s->direct_link_name = aa; // string string
} else
- if ((aret = argcmp(str, "Location")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Location")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Location argument missing\n");
s->location = aa; // string string
} else
- if ((aret = argcmp(str, "RegionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RegionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RegionName argument missing\n");
s->region_name = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -1473,37 +1662,37 @@ int direct_link_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int direct_link_interface_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct direct_link_interface *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BgpAsn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BgpAsn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BgpAsn argument missing\n");
s->is_set_bgp_asn = 1;
s->bgp_asn = atoi(aa);
} else
- if ((aret = argcmp(str, "BgpKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BgpKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BgpKey argument missing\n");
s->bgp_key = aa; // string string
} else
- if ((aret = argcmp(str, "ClientPrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientPrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientPrivateIp argument missing\n");
s->client_private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkInterfaceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkInterfaceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkInterfaceName argument missing\n");
s->direct_link_interface_name = aa; // string string
} else
- if ((aret = argcmp(str, "OutscalePrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OutscalePrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OutscalePrivateIp argument missing\n");
s->outscale_private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "VirtualGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualGatewayId argument missing\n");
s->virtual_gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "Vlan")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Vlan")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Vlan argument missing\n");
s->is_set_vlan = 1;
s->vlan = atoi(aa);
@@ -1518,72 +1707,72 @@ int direct_link_interface_parser(void *v_s, char *str, char *aa, struct ptr_arra
int direct_link_interfaces_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct direct_link_interfaces *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "BgpAsn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BgpAsn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BgpAsn argument missing\n");
s->is_set_bgp_asn = 1;
s->bgp_asn = atoi(aa);
} else
- if ((aret = argcmp(str, "BgpKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BgpKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BgpKey argument missing\n");
s->bgp_key = aa; // string string
} else
- if ((aret = argcmp(str, "ClientPrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientPrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientPrivateIp argument missing\n");
s->client_private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkId argument missing\n");
s->direct_link_id = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkInterfaceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkInterfaceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkInterfaceId argument missing\n");
s->direct_link_interface_id = aa; // string string
} else
- if ((aret = argcmp(str, "DirectLinkInterfaceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DirectLinkInterfaceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DirectLinkInterfaceName argument missing\n");
s->direct_link_interface_name = aa; // string string
} else
- if ((aret = argcmp(str, "InterfaceType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "InterfaceType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "InterfaceType argument missing\n");
s->interface_type = aa; // string string
} else
- if ((aret = argcmp(str, "Location")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Location")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Location argument missing\n");
s->location = aa; // string string
} else
- if ((aret = argcmp(str, "Mtu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Mtu")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Mtu argument missing\n");
s->is_set_mtu = 1;
s->mtu = atoi(aa);
} else
- if ((aret = argcmp(str, "OutscalePrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OutscalePrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OutscalePrivateIp argument missing\n");
s->outscale_private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "VirtualGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualGatewayId argument missing\n");
s->virtual_gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "Vlan")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Vlan")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Vlan argument missing\n");
s->is_set_vlan = 1;
s->vlan = atoi(aa);
@@ -1598,17 +1787,17 @@ int direct_link_interfaces_parser(void *v_s, char *str, char *aa, struct ptr_arr
int errors_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct errors *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Code")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Code")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Code argument missing\n");
s->code = aa; // string string
} else
- if ((aret = argcmp(str, "Details")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Details")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Details argument missing\n");
s->details = aa; // string string
} else
- if ((aret = argcmp(str, "Type")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Type")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Type argument missing\n");
s->type = aa; // string string
@@ -1623,16 +1812,58 @@ int errors_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_access_keys_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_access_keys *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccessKeyIds")) == 0 || aret == '=') {
- TRY(!aa, "AccessKeyIds argument missing\n");
- s->access_key_ids_str = aa;
+ if ((aret = strcmp(str, "AccessKeyIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccessKeyIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccessKeyIds require an index\n");
+ if (s->access_key_ids) {
+ for (; s->access_key_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->access_key_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->access_key_ids, "", pa);
+ SET_NEXT(s->access_key_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccessKeyIds argument missing\n");
+ s->access_key_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccessKeyIds[]")) || aret == '=') {
TRY(!aa, "AccessKeyIds[] argument missing\n");
SET_NEXT(s->access_key_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
@@ -1647,37 +1878,142 @@ int filters_access_keys_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_api_access_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_api_access_rule *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ApiAccessRuleIds")) == 0 || aret == '=') {
- TRY(!aa, "ApiAccessRuleIds argument missing\n");
- s->api_access_rule_ids_str = aa;
+ if ((aret = strcmp(str, "ApiAccessRuleIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ApiAccessRuleIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ApiAccessRuleIds require an index\n");
+ if (s->api_access_rule_ids) {
+ for (; s->api_access_rule_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->api_access_rule_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->api_access_rule_ids, "", pa);
+ SET_NEXT(s->api_access_rule_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ApiAccessRuleIds argument missing\n");
+ s->api_access_rule_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ApiAccessRuleIds[]")) || aret == '=') {
TRY(!aa, "ApiAccessRuleIds[] argument missing\n");
SET_NEXT(s->api_access_rule_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "CaIds")) == 0 || aret == '=') {
- TRY(!aa, "CaIds argument missing\n");
- s->ca_ids_str = aa;
+ if ((aret = strcmp(str, "CaIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaIds require an index\n");
+ if (s->ca_ids) {
+ for (; s->ca_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_ids, "", pa);
+ SET_NEXT(s->ca_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaIds argument missing\n");
+ s->ca_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaIds[]")) || aret == '=') {
TRY(!aa, "CaIds[] argument missing\n");
SET_NEXT(s->ca_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Cns")) == 0 || aret == '=') {
- TRY(!aa, "Cns argument missing\n");
- s->cns_str = aa;
+ if ((aret = strcmp(str, "Cns")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Cns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Cns require an index\n");
+ if (s->cns) {
+ for (; s->cns[last]; ++last);
+ }
+ if (pos < last) {
+ s->cns[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cns, "", pa);
+ SET_NEXT(s->cns, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Cns argument missing\n");
+ s->cns_str = aa;
+ }
} else if (!(aret = strcmp(str, "Cns[]")) || aret == '=') {
TRY(!aa, "Cns[] argument missing\n");
SET_NEXT(s->cns, (aa), pa);
} else
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
@@ -1692,61 +2028,208 @@ int filters_api_access_rule_parser(void *v_s, char *str, char *aa, struct ptr_ar
int filters_api_log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_api_log *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "QueryAccessKeys")) == 0 || aret == '=') {
- TRY(!aa, "QueryAccessKeys argument missing\n");
- s->query_access_keys_str = aa;
+ if ((aret = strcmp(str, "QueryAccessKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QueryAccessKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QueryAccessKeys require an index\n");
+ if (s->query_access_keys) {
+ for (; s->query_access_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->query_access_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->query_access_keys, "", pa);
+ SET_NEXT(s->query_access_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QueryAccessKeys argument missing\n");
+ s->query_access_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "QueryAccessKeys[]")) || aret == '=') {
TRY(!aa, "QueryAccessKeys[] argument missing\n");
SET_NEXT(s->query_access_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "QueryApiNames")) == 0 || aret == '=') {
- TRY(!aa, "QueryApiNames argument missing\n");
- s->query_api_names_str = aa;
+ if ((aret = strcmp(str, "QueryApiNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QueryApiNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QueryApiNames require an index\n");
+ if (s->query_api_names) {
+ for (; s->query_api_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->query_api_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->query_api_names, "", pa);
+ SET_NEXT(s->query_api_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QueryApiNames argument missing\n");
+ s->query_api_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "QueryApiNames[]")) || aret == '=') {
TRY(!aa, "QueryApiNames[] argument missing\n");
SET_NEXT(s->query_api_names, (aa), pa);
} else
- if ((aret = argcmp(str, "QueryCallNames")) == 0 || aret == '=') {
- TRY(!aa, "QueryCallNames argument missing\n");
- s->query_call_names_str = aa;
+ if ((aret = strcmp(str, "QueryCallNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QueryCallNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QueryCallNames require an index\n");
+ if (s->query_call_names) {
+ for (; s->query_call_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->query_call_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->query_call_names, "", pa);
+ SET_NEXT(s->query_call_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QueryCallNames argument missing\n");
+ s->query_call_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "QueryCallNames[]")) || aret == '=') {
TRY(!aa, "QueryCallNames[] argument missing\n");
SET_NEXT(s->query_call_names, (aa), pa);
} else
- if ((aret = argcmp(str, "QueryDateAfter")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryDateAfter")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryDateAfter argument missing\n");
s->query_date_after = aa; // string string
} else
- if ((aret = argcmp(str, "QueryDateBefore")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryDateBefore")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryDateBefore argument missing\n");
s->query_date_before = aa; // string string
} else
- if ((aret = argcmp(str, "QueryIpAddresses")) == 0 || aret == '=') {
- TRY(!aa, "QueryIpAddresses argument missing\n");
- s->query_ip_addresses_str = aa;
+ if ((aret = strcmp(str, "QueryIpAddresses")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QueryIpAddresses argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QueryIpAddresses require an index\n");
+ if (s->query_ip_addresses) {
+ for (; s->query_ip_addresses[last]; ++last);
+ }
+ if (pos < last) {
+ s->query_ip_addresses[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->query_ip_addresses, "", pa);
+ SET_NEXT(s->query_ip_addresses, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QueryIpAddresses argument missing\n");
+ s->query_ip_addresses_str = aa;
+ }
} else if (!(aret = strcmp(str, "QueryIpAddresses[]")) || aret == '=') {
TRY(!aa, "QueryIpAddresses[] argument missing\n");
SET_NEXT(s->query_ip_addresses, (aa), pa);
} else
- if ((aret = argcmp(str, "QueryUserAgents")) == 0 || aret == '=') {
- TRY(!aa, "QueryUserAgents argument missing\n");
- s->query_user_agents_str = aa;
+ if ((aret = strcmp(str, "QueryUserAgents")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QueryUserAgents argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QueryUserAgents require an index\n");
+ if (s->query_user_agents) {
+ for (; s->query_user_agents[last]; ++last);
+ }
+ if (pos < last) {
+ s->query_user_agents[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->query_user_agents, "", pa);
+ SET_NEXT(s->query_user_agents, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QueryUserAgents argument missing\n");
+ s->query_user_agents_str = aa;
+ }
} else if (!(aret = strcmp(str, "QueryUserAgents[]")) || aret == '=') {
TRY(!aa, "QueryUserAgents[] argument missing\n");
SET_NEXT(s->query_user_agents, (aa), pa);
} else
- if ((aret = argcmp(str, "RequestIds")) == 0 || aret == '=') {
- TRY(!aa, "RequestIds argument missing\n");
- s->request_ids_str = aa;
+ if ((aret = strcmp(str, "RequestIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RequestIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RequestIds require an index\n");
+ if (s->request_ids) {
+ for (; s->request_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->request_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->request_ids, "", pa);
+ SET_NEXT(s->request_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RequestIds argument missing\n");
+ s->request_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RequestIds[]")) || aret == '=') {
TRY(!aa, "RequestIds[] argument missing\n");
SET_NEXT(s->request_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ResponseStatusCodes")) == 0 || aret == '=') {
- TRY(!aa, "ResponseStatusCodes argument missing\n");
- s->response_status_codes_str = aa;
+ if ((aret = strcmp(str, "ResponseStatusCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ResponseStatusCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ResponseStatusCodes require an index\n");
+ if (s->response_status_codes) {
+ for (; s->response_status_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->response_status_codes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->response_status_codes, 0, pa);
+ SET_NEXT(s->response_status_codes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "ResponseStatusCodes argument missing\n");
+ s->response_status_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ResponseStatusCodes[]")) || aret == '=') {
TRY(!aa, "ResponseStatusCodes[] argument missing\n");
SET_NEXT(s->response_status_codes, atoi(aa), pa);
@@ -1761,23 +2244,86 @@ int filters_api_log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_ca_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_ca *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CaFingerprints")) == 0 || aret == '=') {
- TRY(!aa, "CaFingerprints argument missing\n");
- s->ca_fingerprints_str = aa;
+ if ((aret = strcmp(str, "CaFingerprints")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaFingerprints argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaFingerprints require an index\n");
+ if (s->ca_fingerprints) {
+ for (; s->ca_fingerprints[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_fingerprints[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_fingerprints, "", pa);
+ SET_NEXT(s->ca_fingerprints, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaFingerprints argument missing\n");
+ s->ca_fingerprints_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaFingerprints[]")) || aret == '=') {
TRY(!aa, "CaFingerprints[] argument missing\n");
SET_NEXT(s->ca_fingerprints, (aa), pa);
} else
- if ((aret = argcmp(str, "CaIds")) == 0 || aret == '=') {
- TRY(!aa, "CaIds argument missing\n");
- s->ca_ids_str = aa;
+ if ((aret = strcmp(str, "CaIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaIds require an index\n");
+ if (s->ca_ids) {
+ for (; s->ca_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_ids, "", pa);
+ SET_NEXT(s->ca_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaIds argument missing\n");
+ s->ca_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaIds[]")) || aret == '=') {
TRY(!aa, "CaIds[] argument missing\n");
SET_NEXT(s->ca_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
@@ -1792,7 +2338,7 @@ int filters_ca_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_catalogs *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CurrentCatalogOnly")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CurrentCatalogOnly")) == 0 || aret == '=' || aret == '.') {
s->is_set_current_catalog_only = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->current_catalog_only = 1;
@@ -1802,12 +2348,12 @@ int filters_catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("CurrentCatalogOnly require true/false\n");
}
} else
- if ((aret = argcmp(str, "FromDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FromDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FromDate argument missing\n");
s->from_date = aa; // string string
} else
- if ((aret = argcmp(str, "ToDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ToDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ToDate argument missing\n");
s->to_date = aa; // string string
@@ -1822,58 +2368,226 @@ int filters_catalogs_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int filters_client_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_client_gateway *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BgpAsns")) == 0 || aret == '=') {
- TRY(!aa, "BgpAsns argument missing\n");
- s->bgp_asns_str = aa;
+ if ((aret = strcmp(str, "BgpAsns")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BgpAsns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BgpAsns require an index\n");
+ if (s->bgp_asns) {
+ for (; s->bgp_asns[last]; ++last);
+ }
+ if (pos < last) {
+ s->bgp_asns[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->bgp_asns, 0, pa);
+ SET_NEXT(s->bgp_asns, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "BgpAsns argument missing\n");
+ s->bgp_asns_str = aa;
+ }
} else if (!(aret = strcmp(str, "BgpAsns[]")) || aret == '=') {
TRY(!aa, "BgpAsns[] argument missing\n");
SET_NEXT(s->bgp_asns, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "ClientGatewayIds")) == 0 || aret == '=') {
- TRY(!aa, "ClientGatewayIds argument missing\n");
- s->client_gateway_ids_str = aa;
+ if ((aret = strcmp(str, "ClientGatewayIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ClientGatewayIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ClientGatewayIds require an index\n");
+ if (s->client_gateway_ids) {
+ for (; s->client_gateway_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->client_gateway_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->client_gateway_ids, "", pa);
+ SET_NEXT(s->client_gateway_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ClientGatewayIds argument missing\n");
+ s->client_gateway_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ClientGatewayIds[]")) || aret == '=') {
TRY(!aa, "ClientGatewayIds[] argument missing\n");
SET_NEXT(s->client_gateway_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ConnectionTypes")) == 0 || aret == '=') {
- TRY(!aa, "ConnectionTypes argument missing\n");
- s->connection_types_str = aa;
+ if ((aret = strcmp(str, "ConnectionTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ConnectionTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ConnectionTypes require an index\n");
+ if (s->connection_types) {
+ for (; s->connection_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->connection_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->connection_types, "", pa);
+ SET_NEXT(s->connection_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ConnectionTypes argument missing\n");
+ s->connection_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "ConnectionTypes[]")) || aret == '=') {
TRY(!aa, "ConnectionTypes[] argument missing\n");
SET_NEXT(s->connection_types, (aa), pa);
} else
- if ((aret = argcmp(str, "PublicIps")) == 0 || aret == '=') {
- TRY(!aa, "PublicIps argument missing\n");
- s->public_ips_str = aa;
+ if ((aret = strcmp(str, "PublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PublicIps require an index\n");
+ if (s->public_ips) {
+ for (; s->public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->public_ips, "", pa);
+ SET_NEXT(s->public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PublicIps argument missing\n");
+ s->public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PublicIps[]")) || aret == '=') {
TRY(!aa, "PublicIps[] argument missing\n");
SET_NEXT(s->public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -1888,30 +2602,114 @@ int filters_client_gateway_parser(void *v_s, char *str, char *aa, struct ptr_arr
int filters_dedicated_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_dedicated_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CpuGenerations")) == 0 || aret == '=') {
- TRY(!aa, "CpuGenerations argument missing\n");
- s->cpu_generations_str = aa;
+ if ((aret = strcmp(str, "CpuGenerations")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CpuGenerations argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CpuGenerations require an index\n");
+ if (s->cpu_generations) {
+ for (; s->cpu_generations[last]; ++last);
+ }
+ if (pos < last) {
+ s->cpu_generations[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cpu_generations, 0, pa);
+ SET_NEXT(s->cpu_generations, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "CpuGenerations argument missing\n");
+ s->cpu_generations_str = aa;
+ }
} else if (!(aret = strcmp(str, "CpuGenerations[]")) || aret == '=') {
TRY(!aa, "CpuGenerations[] argument missing\n");
SET_NEXT(s->cpu_generations, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "DedicatedGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "DedicatedGroupIds argument missing\n");
- s->dedicated_group_ids_str = aa;
+ if ((aret = strcmp(str, "DedicatedGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DedicatedGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DedicatedGroupIds require an index\n");
+ if (s->dedicated_group_ids) {
+ for (; s->dedicated_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->dedicated_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->dedicated_group_ids, "", pa);
+ SET_NEXT(s->dedicated_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DedicatedGroupIds argument missing\n");
+ s->dedicated_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DedicatedGroupIds[]")) || aret == '=') {
TRY(!aa, "DedicatedGroupIds[] argument missing\n");
SET_NEXT(s->dedicated_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Names")) == 0 || aret == '=') {
- TRY(!aa, "Names argument missing\n");
- s->names_str = aa;
+ if ((aret = strcmp(str, "Names")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Names argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Names require an index\n");
+ if (s->names) {
+ for (; s->names[last]; ++last);
+ }
+ if (pos < last) {
+ s->names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->names, "", pa);
+ SET_NEXT(s->names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Names argument missing\n");
+ s->names_str = aa;
+ }
} else if (!(aret = strcmp(str, "Names[]")) || aret == '=') {
TRY(!aa, "Names[] argument missing\n");
SET_NEXT(s->names, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
@@ -1926,7 +2724,7 @@ int filters_dedicated_group_parser(void *v_s, char *str, char *aa, struct ptr_ar
int filters_dhcp_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_dhcp_options *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Default")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Default")) == 0 || aret == '=' || aret == '.') {
s->is_set_default_arg = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->default_arg = 1;
@@ -1936,58 +2734,226 @@ int filters_dhcp_options_parser(void *v_s, char *str, char *aa, struct ptr_array
BAD_RET("Default require true/false\n");
}
} else
- if ((aret = argcmp(str, "DhcpOptionsSetIds")) == 0 || aret == '=') {
- TRY(!aa, "DhcpOptionsSetIds argument missing\n");
- s->dhcp_options_set_ids_str = aa;
+ if ((aret = strcmp(str, "DhcpOptionsSetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DhcpOptionsSetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DhcpOptionsSetIds require an index\n");
+ if (s->dhcp_options_set_ids) {
+ for (; s->dhcp_options_set_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->dhcp_options_set_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->dhcp_options_set_ids, "", pa);
+ SET_NEXT(s->dhcp_options_set_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DhcpOptionsSetIds argument missing\n");
+ s->dhcp_options_set_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DhcpOptionsSetIds[]")) || aret == '=') {
TRY(!aa, "DhcpOptionsSetIds[] argument missing\n");
SET_NEXT(s->dhcp_options_set_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "DomainNameServers")) == 0 || aret == '=') {
- TRY(!aa, "DomainNameServers argument missing\n");
- s->domain_name_servers_str = aa;
+ if ((aret = strcmp(str, "DomainNameServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DomainNameServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DomainNameServers require an index\n");
+ if (s->domain_name_servers) {
+ for (; s->domain_name_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->domain_name_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->domain_name_servers, "", pa);
+ SET_NEXT(s->domain_name_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DomainNameServers argument missing\n");
+ s->domain_name_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "DomainNameServers[]")) || aret == '=') {
TRY(!aa, "DomainNameServers[] argument missing\n");
SET_NEXT(s->domain_name_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "DomainNames")) == 0 || aret == '=') {
- TRY(!aa, "DomainNames argument missing\n");
- s->domain_names_str = aa;
+ if ((aret = strcmp(str, "DomainNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DomainNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DomainNames require an index\n");
+ if (s->domain_names) {
+ for (; s->domain_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->domain_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->domain_names, "", pa);
+ SET_NEXT(s->domain_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DomainNames argument missing\n");
+ s->domain_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "DomainNames[]")) || aret == '=') {
TRY(!aa, "DomainNames[] argument missing\n");
SET_NEXT(s->domain_names, (aa), pa);
} else
- if ((aret = argcmp(str, "LogServers")) == 0 || aret == '=') {
- TRY(!aa, "LogServers argument missing\n");
- s->log_servers_str = aa;
+ if ((aret = strcmp(str, "LogServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LogServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LogServers require an index\n");
+ if (s->log_servers) {
+ for (; s->log_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->log_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->log_servers, "", pa);
+ SET_NEXT(s->log_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LogServers argument missing\n");
+ s->log_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "LogServers[]")) || aret == '=') {
TRY(!aa, "LogServers[] argument missing\n");
SET_NEXT(s->log_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "NtpServers")) == 0 || aret == '=') {
- TRY(!aa, "NtpServers argument missing\n");
- s->ntp_servers_str = aa;
+ if ((aret = strcmp(str, "NtpServers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NtpServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NtpServers require an index\n");
+ if (s->ntp_servers) {
+ for (; s->ntp_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->ntp_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ntp_servers, "", pa);
+ SET_NEXT(s->ntp_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NtpServers argument missing\n");
+ s->ntp_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "NtpServers[]")) || aret == '=') {
TRY(!aa, "NtpServers[] argument missing\n");
SET_NEXT(s->ntp_servers, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2002,9 +2968,30 @@ int filters_dhcp_options_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_direct_link_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_direct_link *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DirectLinkIds")) == 0 || aret == '=') {
- TRY(!aa, "DirectLinkIds argument missing\n");
- s->direct_link_ids_str = aa;
+ if ((aret = strcmp(str, "DirectLinkIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DirectLinkIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DirectLinkIds require an index\n");
+ if (s->direct_link_ids) {
+ for (; s->direct_link_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->direct_link_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->direct_link_ids, "", pa);
+ SET_NEXT(s->direct_link_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DirectLinkIds argument missing\n");
+ s->direct_link_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DirectLinkIds[]")) || aret == '=') {
TRY(!aa, "DirectLinkIds[] argument missing\n");
SET_NEXT(s->direct_link_ids, (aa), pa);
@@ -2019,16 +3006,58 @@ int filters_direct_link_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_direct_link_interface_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_direct_link_interface *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DirectLinkIds")) == 0 || aret == '=') {
- TRY(!aa, "DirectLinkIds argument missing\n");
- s->direct_link_ids_str = aa;
+ if ((aret = strcmp(str, "DirectLinkIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DirectLinkIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DirectLinkIds require an index\n");
+ if (s->direct_link_ids) {
+ for (; s->direct_link_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->direct_link_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->direct_link_ids, "", pa);
+ SET_NEXT(s->direct_link_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DirectLinkIds argument missing\n");
+ s->direct_link_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DirectLinkIds[]")) || aret == '=') {
TRY(!aa, "DirectLinkIds[] argument missing\n");
SET_NEXT(s->direct_link_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "DirectLinkInterfaceIds")) == 0 || aret == '=') {
- TRY(!aa, "DirectLinkInterfaceIds argument missing\n");
- s->direct_link_interface_ids_str = aa;
+ if ((aret = strcmp(str, "DirectLinkInterfaceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DirectLinkInterfaceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DirectLinkInterfaceIds require an index\n");
+ if (s->direct_link_interface_ids) {
+ for (; s->direct_link_interface_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->direct_link_interface_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->direct_link_interface_ids, "", pa);
+ SET_NEXT(s->direct_link_interface_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DirectLinkInterfaceIds argument missing\n");
+ s->direct_link_interface_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DirectLinkInterfaceIds[]")) || aret == '=') {
TRY(!aa, "DirectLinkInterfaceIds[] argument missing\n");
SET_NEXT(s->direct_link_interface_ids, (aa), pa);
@@ -2043,9 +3072,30 @@ int filters_direct_link_interface_parser(void *v_s, char *str, char *aa, struct
int filters_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_export_task *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "TaskIds")) == 0 || aret == '=') {
- TRY(!aa, "TaskIds argument missing\n");
- s->task_ids_str = aa;
+ if ((aret = strcmp(str, "TaskIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TaskIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TaskIds require an index\n");
+ if (s->task_ids) {
+ for (; s->task_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->task_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->task_ids, "", pa);
+ SET_NEXT(s->task_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TaskIds argument missing\n");
+ s->task_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "TaskIds[]")) || aret == '=') {
TRY(!aa, "TaskIds[] argument missing\n");
SET_NEXT(s->task_ids, (aa), pa);
@@ -2060,7 +3110,7 @@ int filters_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_flexible_gpu *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -2070,44 +3120,170 @@ int filters_flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "FlexibleGpuIds")) == 0 || aret == '=') {
- TRY(!aa, "FlexibleGpuIds argument missing\n");
- s->flexible_gpu_ids_str = aa;
+ if ((aret = strcmp(str, "FlexibleGpuIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "FlexibleGpuIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "FlexibleGpuIds require an index\n");
+ if (s->flexible_gpu_ids) {
+ for (; s->flexible_gpu_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->flexible_gpu_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->flexible_gpu_ids, "", pa);
+ SET_NEXT(s->flexible_gpu_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "FlexibleGpuIds argument missing\n");
+ s->flexible_gpu_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "FlexibleGpuIds[]")) || aret == '=') {
TRY(!aa, "FlexibleGpuIds[] argument missing\n");
SET_NEXT(s->flexible_gpu_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Generations")) == 0 || aret == '=') {
- TRY(!aa, "Generations argument missing\n");
- s->generations_str = aa;
+ if ((aret = strcmp(str, "Generations")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Generations argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Generations require an index\n");
+ if (s->generations) {
+ for (; s->generations[last]; ++last);
+ }
+ if (pos < last) {
+ s->generations[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->generations, "", pa);
+ SET_NEXT(s->generations, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Generations argument missing\n");
+ s->generations_str = aa;
+ }
} else if (!(aret = strcmp(str, "Generations[]")) || aret == '=') {
TRY(!aa, "Generations[] argument missing\n");
SET_NEXT(s->generations, (aa), pa);
} else
- if ((aret = argcmp(str, "ModelNames")) == 0 || aret == '=') {
- TRY(!aa, "ModelNames argument missing\n");
- s->model_names_str = aa;
+ if ((aret = strcmp(str, "ModelNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ModelNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ModelNames require an index\n");
+ if (s->model_names) {
+ for (; s->model_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->model_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->model_names, "", pa);
+ SET_NEXT(s->model_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ModelNames argument missing\n");
+ s->model_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ModelNames[]")) || aret == '=') {
TRY(!aa, "ModelNames[] argument missing\n");
SET_NEXT(s->model_names, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -2122,28 +3298,91 @@ int filters_flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_image *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountAliases")) == 0 || aret == '=') {
- TRY(!aa, "AccountAliases argument missing\n");
- s->account_aliases_str = aa;
+ if ((aret = strcmp(str, "AccountAliases")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccountAliases argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccountAliases require an index\n");
+ if (s->account_aliases) {
+ for (; s->account_aliases[last]; ++last);
+ }
+ if (pos < last) {
+ s->account_aliases[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->account_aliases, "", pa);
+ SET_NEXT(s->account_aliases, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccountAliases argument missing\n");
+ s->account_aliases_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccountAliases[]")) || aret == '=') {
TRY(!aa, "AccountAliases[] argument missing\n");
SET_NEXT(s->account_aliases, (aa), pa);
} else
- if ((aret = argcmp(str, "AccountIds")) == 0 || aret == '=') {
- TRY(!aa, "AccountIds argument missing\n");
- s->account_ids_str = aa;
+ if ((aret = strcmp(str, "AccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccountIds require an index\n");
+ if (s->account_ids) {
+ for (; s->account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->account_ids, "", pa);
+ SET_NEXT(s->account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccountIds argument missing\n");
+ s->account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccountIds[]")) || aret == '=') {
TRY(!aa, "AccountIds[] argument missing\n");
SET_NEXT(s->account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Architectures")) == 0 || aret == '=') {
- TRY(!aa, "Architectures argument missing\n");
- s->architectures_str = aa;
+ if ((aret = strcmp(str, "Architectures")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Architectures argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Architectures require an index\n");
+ if (s->architectures) {
+ for (; s->architectures[last]; ++last);
+ }
+ if (pos < last) {
+ s->architectures[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->architectures, "", pa);
+ SET_NEXT(s->architectures, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Architectures argument missing\n");
+ s->architectures_str = aa;
+ }
} else if (!(aret = strcmp(str, "Architectures[]")) || aret == '=') {
TRY(!aa, "Architectures[] argument missing\n");
SET_NEXT(s->architectures, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingDeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BlockDeviceMappingDeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_block_device_mapping_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->block_device_mapping_delete_on_vm_deletion = 1;
@@ -2153,77 +3392,287 @@ int filters_image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("BlockDeviceMappingDeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "BlockDeviceMappingDeviceNames")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingDeviceNames argument missing\n");
- s->block_device_mapping_device_names_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingDeviceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingDeviceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingDeviceNames require an index\n");
+ if (s->block_device_mapping_device_names) {
+ for (; s->block_device_mapping_device_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_device_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_device_names, "", pa);
+ SET_NEXT(s->block_device_mapping_device_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingDeviceNames argument missing\n");
+ s->block_device_mapping_device_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingDeviceNames[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingDeviceNames[] argument missing\n");
SET_NEXT(s->block_device_mapping_device_names, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingSnapshotIds")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingSnapshotIds argument missing\n");
- s->block_device_mapping_snapshot_ids_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingSnapshotIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingSnapshotIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingSnapshotIds require an index\n");
+ if (s->block_device_mapping_snapshot_ids) {
+ for (; s->block_device_mapping_snapshot_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_snapshot_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_snapshot_ids, "", pa);
+ SET_NEXT(s->block_device_mapping_snapshot_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingSnapshotIds argument missing\n");
+ s->block_device_mapping_snapshot_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingSnapshotIds[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingSnapshotIds[] argument missing\n");
SET_NEXT(s->block_device_mapping_snapshot_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingVolumeSizes")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingVolumeSizes argument missing\n");
- s->block_device_mapping_volume_sizes_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingVolumeSizes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingVolumeSizes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingVolumeSizes require an index\n");
+ if (s->block_device_mapping_volume_sizes) {
+ for (; s->block_device_mapping_volume_sizes[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_volume_sizes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_volume_sizes, 0, pa);
+ SET_NEXT(s->block_device_mapping_volume_sizes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingVolumeSizes argument missing\n");
+ s->block_device_mapping_volume_sizes_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingVolumeSizes[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingVolumeSizes[] argument missing\n");
SET_NEXT(s->block_device_mapping_volume_sizes, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingVolumeTypes")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingVolumeTypes argument missing\n");
- s->block_device_mapping_volume_types_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingVolumeTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingVolumeTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingVolumeTypes require an index\n");
+ if (s->block_device_mapping_volume_types) {
+ for (; s->block_device_mapping_volume_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_volume_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_volume_types, "", pa);
+ SET_NEXT(s->block_device_mapping_volume_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingVolumeTypes argument missing\n");
+ s->block_device_mapping_volume_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingVolumeTypes[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingVolumeTypes[] argument missing\n");
SET_NEXT(s->block_device_mapping_volume_types, (aa), pa);
} else
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "FileLocations")) == 0 || aret == '=') {
- TRY(!aa, "FileLocations argument missing\n");
- s->file_locations_str = aa;
+ if ((aret = strcmp(str, "FileLocations")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "FileLocations argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "FileLocations require an index\n");
+ if (s->file_locations) {
+ for (; s->file_locations[last]; ++last);
+ }
+ if (pos < last) {
+ s->file_locations[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->file_locations, "", pa);
+ SET_NEXT(s->file_locations, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "FileLocations argument missing\n");
+ s->file_locations_str = aa;
+ }
} else if (!(aret = strcmp(str, "FileLocations[]")) || aret == '=') {
TRY(!aa, "FileLocations[] argument missing\n");
SET_NEXT(s->file_locations, (aa), pa);
} else
- if ((aret = argcmp(str, "Hypervisors")) == 0 || aret == '=') {
- TRY(!aa, "Hypervisors argument missing\n");
- s->hypervisors_str = aa;
+ if ((aret = strcmp(str, "Hypervisors")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Hypervisors argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Hypervisors require an index\n");
+ if (s->hypervisors) {
+ for (; s->hypervisors[last]; ++last);
+ }
+ if (pos < last) {
+ s->hypervisors[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->hypervisors, "", pa);
+ SET_NEXT(s->hypervisors, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Hypervisors argument missing\n");
+ s->hypervisors_str = aa;
+ }
} else if (!(aret = strcmp(str, "Hypervisors[]")) || aret == '=') {
TRY(!aa, "Hypervisors[] argument missing\n");
SET_NEXT(s->hypervisors, (aa), pa);
} else
- if ((aret = argcmp(str, "ImageIds")) == 0 || aret == '=') {
- TRY(!aa, "ImageIds argument missing\n");
- s->image_ids_str = aa;
+ if ((aret = strcmp(str, "ImageIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ImageIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ImageIds require an index\n");
+ if (s->image_ids) {
+ for (; s->image_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->image_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->image_ids, "", pa);
+ SET_NEXT(s->image_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ImageIds argument missing\n");
+ s->image_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ImageIds[]")) || aret == '=') {
TRY(!aa, "ImageIds[] argument missing\n");
SET_NEXT(s->image_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ImageNames")) == 0 || aret == '=') {
- TRY(!aa, "ImageNames argument missing\n");
- s->image_names_str = aa;
+ if ((aret = strcmp(str, "ImageNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ImageNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ImageNames require an index\n");
+ if (s->image_names) {
+ for (; s->image_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->image_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->image_names, "", pa);
+ SET_NEXT(s->image_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ImageNames argument missing\n");
+ s->image_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ImageNames[]")) || aret == '=') {
TRY(!aa, "ImageNames[] argument missing\n");
SET_NEXT(s->image_names, (aa), pa);
} else
- if ((aret = argcmp(str, "PermissionsToLaunchAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "PermissionsToLaunchAccountIds argument missing\n");
- s->permissions_to_launch_account_ids_str = aa;
+ if ((aret = strcmp(str, "PermissionsToLaunchAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PermissionsToLaunchAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PermissionsToLaunchAccountIds require an index\n");
+ if (s->permissions_to_launch_account_ids) {
+ for (; s->permissions_to_launch_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->permissions_to_launch_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->permissions_to_launch_account_ids, "", pa);
+ SET_NEXT(s->permissions_to_launch_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PermissionsToLaunchAccountIds argument missing\n");
+ s->permissions_to_launch_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "PermissionsToLaunchAccountIds[]")) || aret == '=') {
TRY(!aa, "PermissionsToLaunchAccountIds[] argument missing\n");
SET_NEXT(s->permissions_to_launch_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "PermissionsToLaunchGlobalPermission")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PermissionsToLaunchGlobalPermission")) == 0 || aret == '=' || aret == '.') {
s->is_set_permissions_to_launch_global_permission = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->permissions_to_launch_global_permission = 1;
@@ -2233,65 +3682,254 @@ int filters_image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("PermissionsToLaunchGlobalPermission require true/false\n");
}
} else
- if ((aret = argcmp(str, "ProductCodeNames")) == 0 || aret == '=') {
- TRY(!aa, "ProductCodeNames argument missing\n");
- s->product_code_names_str = aa;
+ if ((aret = strcmp(str, "ProductCodeNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodeNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodeNames require an index\n");
+ if (s->product_code_names) {
+ for (; s->product_code_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_code_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_code_names, "", pa);
+ SET_NEXT(s->product_code_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodeNames argument missing\n");
+ s->product_code_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodeNames[]")) || aret == '=') {
TRY(!aa, "ProductCodeNames[] argument missing\n");
SET_NEXT(s->product_code_names, (aa), pa);
} else
- if ((aret = argcmp(str, "ProductCodes")) == 0 || aret == '=') {
- TRY(!aa, "ProductCodes argument missing\n");
- s->product_codes_str = aa;
+ if ((aret = strcmp(str, "ProductCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodes require an index\n");
+ if (s->product_codes) {
+ for (; s->product_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_codes, "", pa);
+ SET_NEXT(s->product_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodes argument missing\n");
+ s->product_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodes[]")) || aret == '=') {
TRY(!aa, "ProductCodes[] argument missing\n");
SET_NEXT(s->product_codes, (aa), pa);
} else
- if ((aret = argcmp(str, "RootDeviceNames")) == 0 || aret == '=') {
- TRY(!aa, "RootDeviceNames argument missing\n");
- s->root_device_names_str = aa;
+ if ((aret = strcmp(str, "RootDeviceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RootDeviceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RootDeviceNames require an index\n");
+ if (s->root_device_names) {
+ for (; s->root_device_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->root_device_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->root_device_names, "", pa);
+ SET_NEXT(s->root_device_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RootDeviceNames argument missing\n");
+ s->root_device_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "RootDeviceNames[]")) || aret == '=') {
TRY(!aa, "RootDeviceNames[] argument missing\n");
SET_NEXT(s->root_device_names, (aa), pa);
} else
- if ((aret = argcmp(str, "RootDeviceTypes")) == 0 || aret == '=') {
- TRY(!aa, "RootDeviceTypes argument missing\n");
- s->root_device_types_str = aa;
+ if ((aret = strcmp(str, "RootDeviceTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RootDeviceTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RootDeviceTypes require an index\n");
+ if (s->root_device_types) {
+ for (; s->root_device_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->root_device_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->root_device_types, "", pa);
+ SET_NEXT(s->root_device_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RootDeviceTypes argument missing\n");
+ s->root_device_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "RootDeviceTypes[]")) || aret == '=') {
TRY(!aa, "RootDeviceTypes[] argument missing\n");
SET_NEXT(s->root_device_types, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VirtualizationTypes")) == 0 || aret == '=') {
- TRY(!aa, "VirtualizationTypes argument missing\n");
- s->virtualization_types_str = aa;
+ if ((aret = strcmp(str, "VirtualizationTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VirtualizationTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VirtualizationTypes require an index\n");
+ if (s->virtualization_types) {
+ for (; s->virtualization_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->virtualization_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->virtualization_types, "", pa);
+ SET_NEXT(s->virtualization_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VirtualizationTypes argument missing\n");
+ s->virtualization_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "VirtualizationTypes[]")) || aret == '=') {
TRY(!aa, "VirtualizationTypes[] argument missing\n");
SET_NEXT(s->virtualization_types, (aa), pa);
@@ -2306,44 +3944,170 @@ int filters_image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_internet_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_internet_service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "InternetServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "InternetServiceIds argument missing\n");
- s->internet_service_ids_str = aa;
+ if ((aret = strcmp(str, "InternetServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InternetServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InternetServiceIds require an index\n");
+ if (s->internet_service_ids) {
+ for (; s->internet_service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->internet_service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->internet_service_ids, "", pa);
+ SET_NEXT(s->internet_service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InternetServiceIds argument missing\n");
+ s->internet_service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "InternetServiceIds[]")) || aret == '=') {
TRY(!aa, "InternetServiceIds[] argument missing\n");
SET_NEXT(s->internet_service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkNetIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkNetIds argument missing\n");
- s->link_net_ids_str = aa;
+ if ((aret = strcmp(str, "LinkNetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNetIds require an index\n");
+ if (s->link_net_ids) {
+ for (; s->link_net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_net_ids, "", pa);
+ SET_NEXT(s->link_net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNetIds argument missing\n");
+ s->link_net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNetIds[]")) || aret == '=') {
TRY(!aa, "LinkNetIds[] argument missing\n");
SET_NEXT(s->link_net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkStates")) == 0 || aret == '=') {
- TRY(!aa, "LinkStates argument missing\n");
- s->link_states_str = aa;
+ if ((aret = strcmp(str, "LinkStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkStates require an index\n");
+ if (s->link_states) {
+ for (; s->link_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_states, "", pa);
+ SET_NEXT(s->link_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkStates argument missing\n");
+ s->link_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkStates[]")) || aret == '=') {
TRY(!aa, "LinkStates[] argument missing\n");
SET_NEXT(s->link_states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2358,23 +4122,86 @@ int filters_internet_service_parser(void *v_s, char *str, char *aa, struct ptr_a
int filters_keypair_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_keypair *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "KeypairFingerprints")) == 0 || aret == '=') {
- TRY(!aa, "KeypairFingerprints argument missing\n");
- s->keypair_fingerprints_str = aa;
+ if ((aret = strcmp(str, "KeypairFingerprints")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "KeypairFingerprints argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "KeypairFingerprints require an index\n");
+ if (s->keypair_fingerprints) {
+ for (; s->keypair_fingerprints[last]; ++last);
+ }
+ if (pos < last) {
+ s->keypair_fingerprints[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keypair_fingerprints, "", pa);
+ SET_NEXT(s->keypair_fingerprints, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "KeypairFingerprints argument missing\n");
+ s->keypair_fingerprints_str = aa;
+ }
} else if (!(aret = strcmp(str, "KeypairFingerprints[]")) || aret == '=') {
TRY(!aa, "KeypairFingerprints[] argument missing\n");
SET_NEXT(s->keypair_fingerprints, (aa), pa);
} else
- if ((aret = argcmp(str, "KeypairNames")) == 0 || aret == '=') {
- TRY(!aa, "KeypairNames argument missing\n");
- s->keypair_names_str = aa;
+ if ((aret = strcmp(str, "KeypairNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "KeypairNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "KeypairNames require an index\n");
+ if (s->keypair_names) {
+ for (; s->keypair_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->keypair_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keypair_names, "", pa);
+ SET_NEXT(s->keypair_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "KeypairNames argument missing\n");
+ s->keypair_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "KeypairNames[]")) || aret == '=') {
TRY(!aa, "KeypairNames[] argument missing\n");
SET_NEXT(s->keypair_names, (aa), pa);
} else
- if ((aret = argcmp(str, "KeypairTypes")) == 0 || aret == '=') {
- TRY(!aa, "KeypairTypes argument missing\n");
- s->keypair_types_str = aa;
+ if ((aret = strcmp(str, "KeypairTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "KeypairTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "KeypairTypes require an index\n");
+ if (s->keypair_types) {
+ for (; s->keypair_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->keypair_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keypair_types, "", pa);
+ SET_NEXT(s->keypair_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "KeypairTypes argument missing\n");
+ s->keypair_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "KeypairTypes[]")) || aret == '=') {
TRY(!aa, "KeypairTypes[] argument missing\n");
SET_NEXT(s->keypair_types, (aa), pa);
@@ -2389,9 +4216,30 @@ int filters_keypair_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_listener_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_listener_rule *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ListenerRuleNames")) == 0 || aret == '=') {
- TRY(!aa, "ListenerRuleNames argument missing\n");
- s->listener_rule_names_str = aa;
+ if ((aret = strcmp(str, "ListenerRuleNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ListenerRuleNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ListenerRuleNames require an index\n");
+ if (s->listener_rule_names) {
+ for (; s->listener_rule_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->listener_rule_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->listener_rule_names, "", pa);
+ SET_NEXT(s->listener_rule_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ListenerRuleNames argument missing\n");
+ s->listener_rule_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ListenerRuleNames[]")) || aret == '=') {
TRY(!aa, "ListenerRuleNames[] argument missing\n");
SET_NEXT(s->listener_rule_names, (aa), pa);
@@ -2406,9 +4254,30 @@ int filters_listener_rule_parser(void *v_s, char *str, char *aa, struct ptr_arra
int filters_load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_load_balancer *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LoadBalancerNames")) == 0 || aret == '=') {
- TRY(!aa, "LoadBalancerNames argument missing\n");
- s->load_balancer_names_str = aa;
+ if ((aret = strcmp(str, "LoadBalancerNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LoadBalancerNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LoadBalancerNames require an index\n");
+ if (s->load_balancer_names) {
+ for (; s->load_balancer_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->load_balancer_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->load_balancer_names, "", pa);
+ SET_NEXT(s->load_balancer_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LoadBalancerNames argument missing\n");
+ s->load_balancer_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LoadBalancerNames[]")) || aret == '=') {
TRY(!aa, "LoadBalancerNames[] argument missing\n");
SET_NEXT(s->load_balancer_names, (aa), pa);
@@ -2423,58 +4292,226 @@ int filters_load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_arra
int filters_nat_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_nat_service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ClientTokens")) == 0 || aret == '=') {
- TRY(!aa, "ClientTokens argument missing\n");
- s->client_tokens_str = aa;
+ if ((aret = strcmp(str, "ClientTokens")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ClientTokens argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ClientTokens require an index\n");
+ if (s->client_tokens) {
+ for (; s->client_tokens[last]; ++last);
+ }
+ if (pos < last) {
+ s->client_tokens[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->client_tokens, "", pa);
+ SET_NEXT(s->client_tokens, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ClientTokens argument missing\n");
+ s->client_tokens_str = aa;
+ }
} else if (!(aret = strcmp(str, "ClientTokens[]")) || aret == '=') {
TRY(!aa, "ClientTokens[] argument missing\n");
SET_NEXT(s->client_tokens, (aa), pa);
} else
- if ((aret = argcmp(str, "NatServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "NatServiceIds argument missing\n");
- s->nat_service_ids_str = aa;
+ if ((aret = strcmp(str, "NatServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NatServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NatServiceIds require an index\n");
+ if (s->nat_service_ids) {
+ for (; s->nat_service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nat_service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nat_service_ids, "", pa);
+ SET_NEXT(s->nat_service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NatServiceIds argument missing\n");
+ s->nat_service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NatServiceIds[]")) || aret == '=') {
TRY(!aa, "NatServiceIds[] argument missing\n");
SET_NEXT(s->nat_service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "SubnetIds argument missing\n");
- s->subnet_ids_str = aa;
+ if ((aret = strcmp(str, "SubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubnetIds require an index\n");
+ if (s->subnet_ids) {
+ for (; s->subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnet_ids, "", pa);
+ SET_NEXT(s->subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubnetIds argument missing\n");
+ s->subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubnetIds[]")) || aret == '=') {
TRY(!aa, "SubnetIds[] argument missing\n");
SET_NEXT(s->subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2489,21 +4526,63 @@ int filters_nat_service_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_net *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DhcpOptionsSetIds")) == 0 || aret == '=') {
- TRY(!aa, "DhcpOptionsSetIds argument missing\n");
- s->dhcp_options_set_ids_str = aa;
+ if ((aret = strcmp(str, "DhcpOptionsSetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DhcpOptionsSetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DhcpOptionsSetIds require an index\n");
+ if (s->dhcp_options_set_ids) {
+ for (; s->dhcp_options_set_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->dhcp_options_set_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->dhcp_options_set_ids, "", pa);
+ SET_NEXT(s->dhcp_options_set_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DhcpOptionsSetIds argument missing\n");
+ s->dhcp_options_set_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "DhcpOptionsSetIds[]")) || aret == '=') {
TRY(!aa, "DhcpOptionsSetIds[] argument missing\n");
SET_NEXT(s->dhcp_options_set_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "IsDefault")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsDefault")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_default = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_default = 1;
@@ -2513,37 +4592,142 @@ int filters_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsDefault require true/false\n");
}
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2558,51 +4742,198 @@ int filters_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_net_access_point_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_net_access_point *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "NetAccessPointIds")) == 0 || aret == '=') {
- TRY(!aa, "NetAccessPointIds argument missing\n");
- s->net_access_point_ids_str = aa;
+ if ((aret = strcmp(str, "NetAccessPointIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetAccessPointIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetAccessPointIds require an index\n");
+ if (s->net_access_point_ids) {
+ for (; s->net_access_point_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_access_point_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_access_point_ids, "", pa);
+ SET_NEXT(s->net_access_point_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetAccessPointIds argument missing\n");
+ s->net_access_point_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetAccessPointIds[]")) || aret == '=') {
TRY(!aa, "NetAccessPointIds[] argument missing\n");
SET_NEXT(s->net_access_point_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ServiceNames")) == 0 || aret == '=') {
- TRY(!aa, "ServiceNames argument missing\n");
- s->service_names_str = aa;
+ if ((aret = strcmp(str, "ServiceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ServiceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ServiceNames require an index\n");
+ if (s->service_names) {
+ for (; s->service_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->service_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->service_names, "", pa);
+ SET_NEXT(s->service_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ServiceNames argument missing\n");
+ s->service_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ServiceNames[]")) || aret == '=') {
TRY(!aa, "ServiceNames[] argument missing\n");
SET_NEXT(s->service_names, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2617,93 +4948,366 @@ int filters_net_access_point_parser(void *v_s, char *str, char *aa, struct ptr_a
int filters_net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_net_peering *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccepterNetAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "AccepterNetAccountIds argument missing\n");
- s->accepter_net_account_ids_str = aa;
+ if ((aret = strcmp(str, "AccepterNetAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccepterNetAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccepterNetAccountIds require an index\n");
+ if (s->accepter_net_account_ids) {
+ for (; s->accepter_net_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->accepter_net_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->accepter_net_account_ids, "", pa);
+ SET_NEXT(s->accepter_net_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccepterNetAccountIds argument missing\n");
+ s->accepter_net_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccepterNetAccountIds[]")) || aret == '=') {
TRY(!aa, "AccepterNetAccountIds[] argument missing\n");
SET_NEXT(s->accepter_net_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "AccepterNetIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "AccepterNetIpRanges argument missing\n");
- s->accepter_net_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "AccepterNetIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccepterNetIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccepterNetIpRanges require an index\n");
+ if (s->accepter_net_ip_ranges) {
+ for (; s->accepter_net_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->accepter_net_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->accepter_net_ip_ranges, "", pa);
+ SET_NEXT(s->accepter_net_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccepterNetIpRanges argument missing\n");
+ s->accepter_net_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccepterNetIpRanges[]")) || aret == '=') {
TRY(!aa, "AccepterNetIpRanges[] argument missing\n");
SET_NEXT(s->accepter_net_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "AccepterNetNetIds")) == 0 || aret == '=') {
- TRY(!aa, "AccepterNetNetIds argument missing\n");
- s->accepter_net_net_ids_str = aa;
+ if ((aret = strcmp(str, "AccepterNetNetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccepterNetNetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccepterNetNetIds require an index\n");
+ if (s->accepter_net_net_ids) {
+ for (; s->accepter_net_net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->accepter_net_net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->accepter_net_net_ids, "", pa);
+ SET_NEXT(s->accepter_net_net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccepterNetNetIds argument missing\n");
+ s->accepter_net_net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccepterNetNetIds[]")) || aret == '=') {
TRY(!aa, "AccepterNetNetIds[] argument missing\n");
SET_NEXT(s->accepter_net_net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ExpirationDates")) == 0 || aret == '=') {
- TRY(!aa, "ExpirationDates argument missing\n");
- s->expiration_dates_str = aa;
+ if ((aret = strcmp(str, "ExpirationDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ExpirationDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ExpirationDates require an index\n");
+ if (s->expiration_dates) {
+ for (; s->expiration_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->expiration_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->expiration_dates, "", pa);
+ SET_NEXT(s->expiration_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ExpirationDates argument missing\n");
+ s->expiration_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "ExpirationDates[]")) || aret == '=') {
TRY(!aa, "ExpirationDates[] argument missing\n");
SET_NEXT(s->expiration_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "NetPeeringIds")) == 0 || aret == '=') {
- TRY(!aa, "NetPeeringIds argument missing\n");
- s->net_peering_ids_str = aa;
+ if ((aret = strcmp(str, "NetPeeringIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetPeeringIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetPeeringIds require an index\n");
+ if (s->net_peering_ids) {
+ for (; s->net_peering_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_peering_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_peering_ids, "", pa);
+ SET_NEXT(s->net_peering_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetPeeringIds argument missing\n");
+ s->net_peering_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetPeeringIds[]")) || aret == '=') {
TRY(!aa, "NetPeeringIds[] argument missing\n");
SET_NEXT(s->net_peering_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SourceNetAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "SourceNetAccountIds argument missing\n");
- s->source_net_account_ids_str = aa;
+ if ((aret = strcmp(str, "SourceNetAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SourceNetAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SourceNetAccountIds require an index\n");
+ if (s->source_net_account_ids) {
+ for (; s->source_net_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->source_net_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->source_net_account_ids, "", pa);
+ SET_NEXT(s->source_net_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SourceNetAccountIds argument missing\n");
+ s->source_net_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SourceNetAccountIds[]")) || aret == '=') {
TRY(!aa, "SourceNetAccountIds[] argument missing\n");
SET_NEXT(s->source_net_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SourceNetIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "SourceNetIpRanges argument missing\n");
- s->source_net_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "SourceNetIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SourceNetIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SourceNetIpRanges require an index\n");
+ if (s->source_net_ip_ranges) {
+ for (; s->source_net_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->source_net_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->source_net_ip_ranges, "", pa);
+ SET_NEXT(s->source_net_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SourceNetIpRanges argument missing\n");
+ s->source_net_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "SourceNetIpRanges[]")) || aret == '=') {
TRY(!aa, "SourceNetIpRanges[] argument missing\n");
SET_NEXT(s->source_net_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "SourceNetNetIds")) == 0 || aret == '=') {
- TRY(!aa, "SourceNetNetIds argument missing\n");
- s->source_net_net_ids_str = aa;
+ if ((aret = strcmp(str, "SourceNetNetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SourceNetNetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SourceNetNetIds require an index\n");
+ if (s->source_net_net_ids) {
+ for (; s->source_net_net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->source_net_net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->source_net_net_ids, "", pa);
+ SET_NEXT(s->source_net_net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SourceNetNetIds argument missing\n");
+ s->source_net_net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SourceNetNetIds[]")) || aret == '=') {
TRY(!aa, "SourceNetNetIds[] argument missing\n");
SET_NEXT(s->source_net_net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "StateMessages")) == 0 || aret == '=') {
- TRY(!aa, "StateMessages argument missing\n");
- s->state_messages_str = aa;
+ if ((aret = strcmp(str, "StateMessages")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "StateMessages argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "StateMessages require an index\n");
+ if (s->state_messages) {
+ for (; s->state_messages[last]; ++last);
+ }
+ if (pos < last) {
+ s->state_messages[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->state_messages, "", pa);
+ SET_NEXT(s->state_messages, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "StateMessages argument missing\n");
+ s->state_messages_str = aa;
+ }
} else if (!(aret = strcmp(str, "StateMessages[]")) || aret == '=') {
TRY(!aa, "StateMessages[] argument missing\n");
SET_NEXT(s->state_messages, (aa), pa);
} else
- if ((aret = argcmp(str, "StateNames")) == 0 || aret == '=') {
- TRY(!aa, "StateNames argument missing\n");
- s->state_names_str = aa;
+ if ((aret = strcmp(str, "StateNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "StateNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "StateNames require an index\n");
+ if (s->state_names) {
+ for (; s->state_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->state_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->state_names, "", pa);
+ SET_NEXT(s->state_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "StateNames argument missing\n");
+ s->state_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "StateNames[]")) || aret == '=') {
TRY(!aa, "StateNames[] argument missing\n");
SET_NEXT(s->state_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2718,14 +5322,35 @@ int filters_net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_nic *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "IsSourceDestCheck")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsSourceDestCheck")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_source_dest_check = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_source_dest_check = 1;
@@ -2735,7 +5360,7 @@ int filters_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsSourceDestCheck require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkNicDeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNicDeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_link_nic_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->link_nic_delete_on_vm_deletion = 1;
@@ -2745,119 +5370,455 @@ int filters_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("LinkNicDeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkNicDeviceNumbers")) == 0 || aret == '=') {
- TRY(!aa, "LinkNicDeviceNumbers argument missing\n");
- s->link_nic_device_numbers_str = aa;
+ if ((aret = strcmp(str, "LinkNicDeviceNumbers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNicDeviceNumbers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNicDeviceNumbers require an index\n");
+ if (s->link_nic_device_numbers) {
+ for (; s->link_nic_device_numbers[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_nic_device_numbers[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_nic_device_numbers, 0, pa);
+ SET_NEXT(s->link_nic_device_numbers, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNicDeviceNumbers argument missing\n");
+ s->link_nic_device_numbers_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNicDeviceNumbers[]")) || aret == '=') {
TRY(!aa, "LinkNicDeviceNumbers[] argument missing\n");
SET_NEXT(s->link_nic_device_numbers, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "LinkNicLinkNicIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkNicLinkNicIds argument missing\n");
- s->link_nic_link_nic_ids_str = aa;
+ if ((aret = strcmp(str, "LinkNicLinkNicIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNicLinkNicIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNicLinkNicIds require an index\n");
+ if (s->link_nic_link_nic_ids) {
+ for (; s->link_nic_link_nic_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_nic_link_nic_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_nic_link_nic_ids, "", pa);
+ SET_NEXT(s->link_nic_link_nic_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNicLinkNicIds argument missing\n");
+ s->link_nic_link_nic_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNicLinkNicIds[]")) || aret == '=') {
TRY(!aa, "LinkNicLinkNicIds[] argument missing\n");
SET_NEXT(s->link_nic_link_nic_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkNicStates")) == 0 || aret == '=') {
- TRY(!aa, "LinkNicStates argument missing\n");
- s->link_nic_states_str = aa;
+ if ((aret = strcmp(str, "LinkNicStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNicStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNicStates require an index\n");
+ if (s->link_nic_states) {
+ for (; s->link_nic_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_nic_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_nic_states, "", pa);
+ SET_NEXT(s->link_nic_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNicStates argument missing\n");
+ s->link_nic_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNicStates[]")) || aret == '=') {
TRY(!aa, "LinkNicStates[] argument missing\n");
SET_NEXT(s->link_nic_states, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkNicVmAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkNicVmAccountIds argument missing\n");
- s->link_nic_vm_account_ids_str = aa;
+ if ((aret = strcmp(str, "LinkNicVmAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNicVmAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNicVmAccountIds require an index\n");
+ if (s->link_nic_vm_account_ids) {
+ for (; s->link_nic_vm_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_nic_vm_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_nic_vm_account_ids, "", pa);
+ SET_NEXT(s->link_nic_vm_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNicVmAccountIds argument missing\n");
+ s->link_nic_vm_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNicVmAccountIds[]")) || aret == '=') {
TRY(!aa, "LinkNicVmAccountIds[] argument missing\n");
SET_NEXT(s->link_nic_vm_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkNicVmIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkNicVmIds argument missing\n");
- s->link_nic_vm_ids_str = aa;
+ if ((aret = strcmp(str, "LinkNicVmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNicVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNicVmIds require an index\n");
+ if (s->link_nic_vm_ids) {
+ for (; s->link_nic_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_nic_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_nic_vm_ids, "", pa);
+ SET_NEXT(s->link_nic_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNicVmIds argument missing\n");
+ s->link_nic_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNicVmIds[]")) || aret == '=') {
TRY(!aa, "LinkNicVmIds[] argument missing\n");
SET_NEXT(s->link_nic_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkPublicIpAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpAccountIds argument missing\n");
- s->link_public_ip_account_ids_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpAccountIds require an index\n");
+ if (s->link_public_ip_account_ids) {
+ for (; s->link_public_ip_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_account_ids, "", pa);
+ SET_NEXT(s->link_public_ip_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpAccountIds argument missing\n");
+ s->link_public_ip_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpAccountIds[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpAccountIds[] argument missing\n");
SET_NEXT(s->link_public_ip_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkPublicIpLinkPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpLinkPublicIpIds argument missing\n");
- s->link_public_ip_link_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpLinkPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpLinkPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpLinkPublicIpIds require an index\n");
+ if (s->link_public_ip_link_public_ip_ids) {
+ for (; s->link_public_ip_link_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_link_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_link_public_ip_ids, "", pa);
+ SET_NEXT(s->link_public_ip_link_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpLinkPublicIpIds argument missing\n");
+ s->link_public_ip_link_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpLinkPublicIpIds[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpLinkPublicIpIds[] argument missing\n");
SET_NEXT(s->link_public_ip_link_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkPublicIpPublicDnsNames")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpPublicDnsNames argument missing\n");
- s->link_public_ip_public_dns_names_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpPublicDnsNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpPublicDnsNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpPublicDnsNames require an index\n");
+ if (s->link_public_ip_public_dns_names) {
+ for (; s->link_public_ip_public_dns_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_public_dns_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_public_dns_names, "", pa);
+ SET_NEXT(s->link_public_ip_public_dns_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpPublicDnsNames argument missing\n");
+ s->link_public_ip_public_dns_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpPublicDnsNames[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpPublicDnsNames[] argument missing\n");
SET_NEXT(s->link_public_ip_public_dns_names, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkPublicIpPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpPublicIpIds argument missing\n");
- s->link_public_ip_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpPublicIpIds require an index\n");
+ if (s->link_public_ip_public_ip_ids) {
+ for (; s->link_public_ip_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_public_ip_ids, "", pa);
+ SET_NEXT(s->link_public_ip_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpPublicIpIds argument missing\n");
+ s->link_public_ip_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpPublicIpIds[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpPublicIpIds[] argument missing\n");
SET_NEXT(s->link_public_ip_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkPublicIpPublicIps")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpPublicIps argument missing\n");
- s->link_public_ip_public_ips_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpPublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpPublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpPublicIps require an index\n");
+ if (s->link_public_ip_public_ips) {
+ for (; s->link_public_ip_public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_public_ips, "", pa);
+ SET_NEXT(s->link_public_ip_public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpPublicIps argument missing\n");
+ s->link_public_ip_public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpPublicIps[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpPublicIps[] argument missing\n");
SET_NEXT(s->link_public_ip_public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "MacAddresses")) == 0 || aret == '=') {
- TRY(!aa, "MacAddresses argument missing\n");
- s->mac_addresses_str = aa;
+ if ((aret = strcmp(str, "MacAddresses")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MacAddresses argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MacAddresses require an index\n");
+ if (s->mac_addresses) {
+ for (; s->mac_addresses[last]; ++last);
+ }
+ if (pos < last) {
+ s->mac_addresses[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->mac_addresses, "", pa);
+ SET_NEXT(s->mac_addresses, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "MacAddresses argument missing\n");
+ s->mac_addresses_str = aa;
+ }
} else if (!(aret = strcmp(str, "MacAddresses[]")) || aret == '=') {
TRY(!aa, "MacAddresses[] argument missing\n");
SET_NEXT(s->mac_addresses, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicIds")) == 0 || aret == '=') {
- TRY(!aa, "NicIds argument missing\n");
- s->nic_ids_str = aa;
+ if ((aret = strcmp(str, "NicIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicIds require an index\n");
+ if (s->nic_ids) {
+ for (; s->nic_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_ids, "", pa);
+ SET_NEXT(s->nic_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicIds argument missing\n");
+ s->nic_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicIds[]")) || aret == '=') {
TRY(!aa, "NicIds[] argument missing\n");
SET_NEXT(s->nic_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateDnsNames")) == 0 || aret == '=') {
- TRY(!aa, "PrivateDnsNames argument missing\n");
- s->private_dns_names_str = aa;
+ if ((aret = strcmp(str, "PrivateDnsNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateDnsNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateDnsNames require an index\n");
+ if (s->private_dns_names) {
+ for (; s->private_dns_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_dns_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_dns_names, "", pa);
+ SET_NEXT(s->private_dns_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateDnsNames argument missing\n");
+ s->private_dns_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateDnsNames[]")) || aret == '=') {
TRY(!aa, "PrivateDnsNames[] argument missing\n");
SET_NEXT(s->private_dns_names, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateIpsLinkPublicIpAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "PrivateIpsLinkPublicIpAccountIds argument missing\n");
- s->private_ips_link_public_ip_account_ids_str = aa;
+ if ((aret = strcmp(str, "PrivateIpsLinkPublicIpAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIpsLinkPublicIpAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIpsLinkPublicIpAccountIds require an index\n");
+ if (s->private_ips_link_public_ip_account_ids) {
+ for (; s->private_ips_link_public_ip_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips_link_public_ip_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips_link_public_ip_account_ids, "", pa);
+ SET_NEXT(s->private_ips_link_public_ip_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIpsLinkPublicIpAccountIds argument missing\n");
+ s->private_ips_link_public_ip_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIpsLinkPublicIpAccountIds[]")) || aret == '=') {
TRY(!aa, "PrivateIpsLinkPublicIpAccountIds[] argument missing\n");
SET_NEXT(s->private_ips_link_public_ip_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateIpsLinkPublicIpPublicIps")) == 0 || aret == '=') {
- TRY(!aa, "PrivateIpsLinkPublicIpPublicIps argument missing\n");
- s->private_ips_link_public_ip_public_ips_str = aa;
+ if ((aret = strcmp(str, "PrivateIpsLinkPublicIpPublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIpsLinkPublicIpPublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIpsLinkPublicIpPublicIps require an index\n");
+ if (s->private_ips_link_public_ip_public_ips) {
+ for (; s->private_ips_link_public_ip_public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips_link_public_ip_public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips_link_public_ip_public_ips, "", pa);
+ SET_NEXT(s->private_ips_link_public_ip_public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIpsLinkPublicIpPublicIps argument missing\n");
+ s->private_ips_link_public_ip_public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIpsLinkPublicIpPublicIps[]")) || aret == '=') {
TRY(!aa, "PrivateIpsLinkPublicIpPublicIps[] argument missing\n");
SET_NEXT(s->private_ips_link_public_ip_public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateIpsPrimaryIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIpsPrimaryIp")) == 0 || aret == '=' || aret == '.') {
s->is_set_private_ips_primary_ip = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->private_ips_primary_ip = 1;
@@ -2867,65 +5828,254 @@ int filters_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("PrivateIpsPrimaryIp require true/false\n");
}
} else
- if ((aret = argcmp(str, "PrivateIpsPrivateIps")) == 0 || aret == '=') {
- TRY(!aa, "PrivateIpsPrivateIps argument missing\n");
- s->private_ips_private_ips_str = aa;
+ if ((aret = strcmp(str, "PrivateIpsPrivateIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIpsPrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIpsPrivateIps require an index\n");
+ if (s->private_ips_private_ips) {
+ for (; s->private_ips_private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips_private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips_private_ips, "", pa);
+ SET_NEXT(s->private_ips_private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIpsPrivateIps argument missing\n");
+ s->private_ips_private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIpsPrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIpsPrivateIps[] argument missing\n");
SET_NEXT(s->private_ips_private_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupNames argument missing\n");
- s->security_group_names_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupNames require an index\n");
+ if (s->security_group_names) {
+ for (; s->security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_names, "", pa);
+ SET_NEXT(s->security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupNames argument missing\n");
+ s->security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "SecurityGroupNames[] argument missing\n");
SET_NEXT(s->security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "SubnetIds argument missing\n");
- s->subnet_ids_str = aa;
+ if ((aret = strcmp(str, "SubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubnetIds require an index\n");
+ if (s->subnet_ids) {
+ for (; s->subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnet_ids, "", pa);
+ SET_NEXT(s->subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubnetIds argument missing\n");
+ s->subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubnetIds[]")) || aret == '=') {
TRY(!aa, "SubnetIds[] argument missing\n");
SET_NEXT(s->subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -2940,9 +6090,30 @@ int filters_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_product_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_product_type *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ProductTypeIds")) == 0 || aret == '=') {
- TRY(!aa, "ProductTypeIds argument missing\n");
- s->product_type_ids_str = aa;
+ if ((aret = strcmp(str, "ProductTypeIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductTypeIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductTypeIds require an index\n");
+ if (s->product_type_ids) {
+ for (; s->product_type_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_type_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_type_ids, "", pa);
+ SET_NEXT(s->product_type_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductTypeIds argument missing\n");
+ s->product_type_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductTypeIds[]")) || aret == '=') {
TRY(!aa, "ProductTypeIds[] argument missing\n");
SET_NEXT(s->product_type_ids, (aa), pa);
@@ -2957,79 +6128,310 @@ int filters_product_type_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_public_ip *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkPublicIpIds argument missing\n");
- s->link_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "LinkPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkPublicIpIds require an index\n");
+ if (s->link_public_ip_ids) {
+ for (; s->link_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_public_ip_ids, "", pa);
+ SET_NEXT(s->link_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkPublicIpIds argument missing\n");
+ s->link_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkPublicIpIds[]")) || aret == '=') {
TRY(!aa, "LinkPublicIpIds[] argument missing\n");
SET_NEXT(s->link_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "NicAccountIds argument missing\n");
- s->nic_account_ids_str = aa;
+ if ((aret = strcmp(str, "NicAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicAccountIds require an index\n");
+ if (s->nic_account_ids) {
+ for (; s->nic_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_account_ids, "", pa);
+ SET_NEXT(s->nic_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicAccountIds argument missing\n");
+ s->nic_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicAccountIds[]")) || aret == '=') {
TRY(!aa, "NicAccountIds[] argument missing\n");
SET_NEXT(s->nic_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicIds")) == 0 || aret == '=') {
- TRY(!aa, "NicIds argument missing\n");
- s->nic_ids_str = aa;
+ if ((aret = strcmp(str, "NicIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicIds require an index\n");
+ if (s->nic_ids) {
+ for (; s->nic_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_ids, "", pa);
+ SET_NEXT(s->nic_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicIds argument missing\n");
+ s->nic_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicIds[]")) || aret == '=') {
TRY(!aa, "NicIds[] argument missing\n");
SET_NEXT(s->nic_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Placements")) == 0 || aret == '=') {
- TRY(!aa, "Placements argument missing\n");
- s->placements_str = aa;
+ if ((aret = strcmp(str, "Placements")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Placements argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Placements require an index\n");
+ if (s->placements) {
+ for (; s->placements[last]; ++last);
+ }
+ if (pos < last) {
+ s->placements[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->placements, "", pa);
+ SET_NEXT(s->placements, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Placements argument missing\n");
+ s->placements_str = aa;
+ }
} else if (!(aret = strcmp(str, "Placements[]")) || aret == '=') {
TRY(!aa, "Placements[] argument missing\n");
SET_NEXT(s->placements, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateIps")) == 0 || aret == '=') {
- TRY(!aa, "PrivateIps argument missing\n");
- s->private_ips_str = aa;
+ if ((aret = strcmp(str, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIps require an index\n");
+ if (s->private_ips) {
+ for (; s->private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips, "", pa);
+ SET_NEXT(s->private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIps argument missing\n");
+ s->private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIps[] argument missing\n");
SET_NEXT(s->private_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "PublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "PublicIpIds argument missing\n");
- s->public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "PublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PublicIpIds require an index\n");
+ if (s->public_ip_ids) {
+ for (; s->public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->public_ip_ids, "", pa);
+ SET_NEXT(s->public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PublicIpIds argument missing\n");
+ s->public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "PublicIpIds[]")) || aret == '=') {
TRY(!aa, "PublicIpIds[] argument missing\n");
SET_NEXT(s->public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "PublicIps")) == 0 || aret == '=') {
- TRY(!aa, "PublicIps argument missing\n");
- s->public_ips_str = aa;
+ if ((aret = strcmp(str, "PublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PublicIps require an index\n");
+ if (s->public_ips) {
+ for (; s->public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->public_ips, "", pa);
+ SET_NEXT(s->public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PublicIps argument missing\n");
+ s->public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PublicIps[]")) || aret == '=') {
TRY(!aa, "PublicIps[] argument missing\n");
SET_NEXT(s->public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -3044,30 +6446,114 @@ int filters_public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int filters_quota_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_quota *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Collections")) == 0 || aret == '=') {
- TRY(!aa, "Collections argument missing\n");
- s->collections_str = aa;
+ if ((aret = strcmp(str, "Collections")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Collections argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Collections require an index\n");
+ if (s->collections) {
+ for (; s->collections[last]; ++last);
+ }
+ if (pos < last) {
+ s->collections[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->collections, "", pa);
+ SET_NEXT(s->collections, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Collections argument missing\n");
+ s->collections_str = aa;
+ }
} else if (!(aret = strcmp(str, "Collections[]")) || aret == '=') {
TRY(!aa, "Collections[] argument missing\n");
SET_NEXT(s->collections, (aa), pa);
} else
- if ((aret = argcmp(str, "QuotaNames")) == 0 || aret == '=') {
- TRY(!aa, "QuotaNames argument missing\n");
- s->quota_names_str = aa;
+ if ((aret = strcmp(str, "QuotaNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QuotaNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QuotaNames require an index\n");
+ if (s->quota_names) {
+ for (; s->quota_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->quota_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->quota_names, "", pa);
+ SET_NEXT(s->quota_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QuotaNames argument missing\n");
+ s->quota_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "QuotaNames[]")) || aret == '=') {
TRY(!aa, "QuotaNames[] argument missing\n");
SET_NEXT(s->quota_names, (aa), pa);
} else
- if ((aret = argcmp(str, "QuotaTypes")) == 0 || aret == '=') {
- TRY(!aa, "QuotaTypes argument missing\n");
- s->quota_types_str = aa;
+ if ((aret = strcmp(str, "QuotaTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "QuotaTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "QuotaTypes require an index\n");
+ if (s->quota_types) {
+ for (; s->quota_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->quota_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->quota_types, "", pa);
+ SET_NEXT(s->quota_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "QuotaTypes argument missing\n");
+ s->quota_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "QuotaTypes[]")) || aret == '=') {
TRY(!aa, "QuotaTypes[] argument missing\n");
SET_NEXT(s->quota_types, (aa), pa);
} else
- if ((aret = argcmp(str, "ShortDescriptions")) == 0 || aret == '=') {
- TRY(!aa, "ShortDescriptions argument missing\n");
- s->short_descriptions_str = aa;
+ if ((aret = strcmp(str, "ShortDescriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ShortDescriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ShortDescriptions require an index\n");
+ if (s->short_descriptions) {
+ for (; s->short_descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->short_descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->short_descriptions, "", pa);
+ SET_NEXT(s->short_descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ShortDescriptions argument missing\n");
+ s->short_descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "ShortDescriptions[]")) || aret == '=') {
TRY(!aa, "ShortDescriptions[] argument missing\n");
SET_NEXT(s->short_descriptions, (aa), pa);
@@ -3082,21 +6568,63 @@ int filters_quota_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_route_table *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkRouteTableIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkRouteTableIds argument missing\n");
- s->link_route_table_ids_str = aa;
+ if ((aret = strcmp(str, "LinkRouteTableIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkRouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkRouteTableIds require an index\n");
+ if (s->link_route_table_ids) {
+ for (; s->link_route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_route_table_ids, "", pa);
+ SET_NEXT(s->link_route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkRouteTableIds argument missing\n");
+ s->link_route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkRouteTableIds[]")) || aret == '=') {
TRY(!aa, "LinkRouteTableIds[] argument missing\n");
SET_NEXT(s->link_route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkRouteTableLinkRouteTableIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkRouteTableLinkRouteTableIds argument missing\n");
- s->link_route_table_link_route_table_ids_str = aa;
+ if ((aret = strcmp(str, "LinkRouteTableLinkRouteTableIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkRouteTableLinkRouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkRouteTableLinkRouteTableIds require an index\n");
+ if (s->link_route_table_link_route_table_ids) {
+ for (; s->link_route_table_link_route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_route_table_link_route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_route_table_link_route_table_ids, "", pa);
+ SET_NEXT(s->link_route_table_link_route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkRouteTableLinkRouteTableIds argument missing\n");
+ s->link_route_table_link_route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkRouteTableLinkRouteTableIds[]")) || aret == '=') {
TRY(!aa, "LinkRouteTableLinkRouteTableIds[] argument missing\n");
SET_NEXT(s->link_route_table_link_route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkRouteTableMain")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkRouteTableMain")) == 0 || aret == '=' || aret == '.') {
s->is_set_link_route_table_main = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->link_route_table_main = 1;
@@ -3106,100 +6634,394 @@ int filters_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array
BAD_RET("LinkRouteTableMain require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkSubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkSubnetIds argument missing\n");
- s->link_subnet_ids_str = aa;
+ if ((aret = strcmp(str, "LinkSubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkSubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkSubnetIds require an index\n");
+ if (s->link_subnet_ids) {
+ for (; s->link_subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_subnet_ids, "", pa);
+ SET_NEXT(s->link_subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkSubnetIds argument missing\n");
+ s->link_subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkSubnetIds[]")) || aret == '=') {
TRY(!aa, "LinkSubnetIds[] argument missing\n");
SET_NEXT(s->link_subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteCreationMethods")) == 0 || aret == '=') {
- TRY(!aa, "RouteCreationMethods argument missing\n");
- s->route_creation_methods_str = aa;
+ if ((aret = strcmp(str, "RouteCreationMethods")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteCreationMethods argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteCreationMethods require an index\n");
+ if (s->route_creation_methods) {
+ for (; s->route_creation_methods[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_creation_methods[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_creation_methods, "", pa);
+ SET_NEXT(s->route_creation_methods, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteCreationMethods argument missing\n");
+ s->route_creation_methods_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteCreationMethods[]")) || aret == '=') {
TRY(!aa, "RouteCreationMethods[] argument missing\n");
SET_NEXT(s->route_creation_methods, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteDestinationIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "RouteDestinationIpRanges argument missing\n");
- s->route_destination_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "RouteDestinationIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteDestinationIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteDestinationIpRanges require an index\n");
+ if (s->route_destination_ip_ranges) {
+ for (; s->route_destination_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_destination_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_destination_ip_ranges, "", pa);
+ SET_NEXT(s->route_destination_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteDestinationIpRanges argument missing\n");
+ s->route_destination_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteDestinationIpRanges[]")) || aret == '=') {
TRY(!aa, "RouteDestinationIpRanges[] argument missing\n");
SET_NEXT(s->route_destination_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteDestinationServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteDestinationServiceIds argument missing\n");
- s->route_destination_service_ids_str = aa;
+ if ((aret = strcmp(str, "RouteDestinationServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteDestinationServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteDestinationServiceIds require an index\n");
+ if (s->route_destination_service_ids) {
+ for (; s->route_destination_service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_destination_service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_destination_service_ids, "", pa);
+ SET_NEXT(s->route_destination_service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteDestinationServiceIds argument missing\n");
+ s->route_destination_service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteDestinationServiceIds[]")) || aret == '=') {
TRY(!aa, "RouteDestinationServiceIds[] argument missing\n");
SET_NEXT(s->route_destination_service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteGatewayIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteGatewayIds argument missing\n");
- s->route_gateway_ids_str = aa;
+ if ((aret = strcmp(str, "RouteGatewayIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteGatewayIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteGatewayIds require an index\n");
+ if (s->route_gateway_ids) {
+ for (; s->route_gateway_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_gateway_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_gateway_ids, "", pa);
+ SET_NEXT(s->route_gateway_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteGatewayIds argument missing\n");
+ s->route_gateway_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteGatewayIds[]")) || aret == '=') {
TRY(!aa, "RouteGatewayIds[] argument missing\n");
SET_NEXT(s->route_gateway_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteNatServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteNatServiceIds argument missing\n");
- s->route_nat_service_ids_str = aa;
+ if ((aret = strcmp(str, "RouteNatServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteNatServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteNatServiceIds require an index\n");
+ if (s->route_nat_service_ids) {
+ for (; s->route_nat_service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_nat_service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_nat_service_ids, "", pa);
+ SET_NEXT(s->route_nat_service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteNatServiceIds argument missing\n");
+ s->route_nat_service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteNatServiceIds[]")) || aret == '=') {
TRY(!aa, "RouteNatServiceIds[] argument missing\n");
SET_NEXT(s->route_nat_service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteNetPeeringIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteNetPeeringIds argument missing\n");
- s->route_net_peering_ids_str = aa;
+ if ((aret = strcmp(str, "RouteNetPeeringIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteNetPeeringIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteNetPeeringIds require an index\n");
+ if (s->route_net_peering_ids) {
+ for (; s->route_net_peering_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_net_peering_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_net_peering_ids, "", pa);
+ SET_NEXT(s->route_net_peering_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteNetPeeringIds argument missing\n");
+ s->route_net_peering_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteNetPeeringIds[]")) || aret == '=') {
TRY(!aa, "RouteNetPeeringIds[] argument missing\n");
SET_NEXT(s->route_net_peering_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteStates")) == 0 || aret == '=') {
- TRY(!aa, "RouteStates argument missing\n");
- s->route_states_str = aa;
+ if ((aret = strcmp(str, "RouteStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteStates require an index\n");
+ if (s->route_states) {
+ for (; s->route_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_states, "", pa);
+ SET_NEXT(s->route_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteStates argument missing\n");
+ s->route_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteStates[]")) || aret == '=') {
TRY(!aa, "RouteStates[] argument missing\n");
SET_NEXT(s->route_states, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteTableIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteTableIds argument missing\n");
- s->route_table_ids_str = aa;
+ if ((aret = strcmp(str, "RouteTableIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteTableIds require an index\n");
+ if (s->route_table_ids) {
+ for (; s->route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_table_ids, "", pa);
+ SET_NEXT(s->route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteTableIds argument missing\n");
+ s->route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteTableIds[]")) || aret == '=') {
TRY(!aa, "RouteTableIds[] argument missing\n");
SET_NEXT(s->route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteVmIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteVmIds argument missing\n");
- s->route_vm_ids_str = aa;
+ if ((aret = strcmp(str, "RouteVmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteVmIds require an index\n");
+ if (s->route_vm_ids) {
+ for (; s->route_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_vm_ids, "", pa);
+ SET_NEXT(s->route_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteVmIds argument missing\n");
+ s->route_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteVmIds[]")) || aret == '=') {
TRY(!aa, "RouteVmIds[] argument missing\n");
SET_NEXT(s->route_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -3214,149 +7036,590 @@ int filters_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_security_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleAccountIds argument missing\n");
- s->inbound_rule_account_ids_str = aa;
+ if ((aret = strcmp(str, "InboundRuleAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleAccountIds require an index\n");
+ if (s->inbound_rule_account_ids) {
+ for (; s->inbound_rule_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_account_ids, "", pa);
+ SET_NEXT(s->inbound_rule_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleAccountIds argument missing\n");
+ s->inbound_rule_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleAccountIds[]")) || aret == '=') {
TRY(!aa, "InboundRuleAccountIds[] argument missing\n");
SET_NEXT(s->inbound_rule_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleFromPortRanges")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleFromPortRanges argument missing\n");
- s->inbound_rule_from_port_ranges_str = aa;
+ if ((aret = strcmp(str, "InboundRuleFromPortRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleFromPortRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleFromPortRanges require an index\n");
+ if (s->inbound_rule_from_port_ranges) {
+ for (; s->inbound_rule_from_port_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_from_port_ranges[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_from_port_ranges, 0, pa);
+ SET_NEXT(s->inbound_rule_from_port_ranges, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleFromPortRanges argument missing\n");
+ s->inbound_rule_from_port_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleFromPortRanges[]")) || aret == '=') {
TRY(!aa, "InboundRuleFromPortRanges[] argument missing\n");
SET_NEXT(s->inbound_rule_from_port_ranges, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleIpRanges argument missing\n");
- s->inbound_rule_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "InboundRuleIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleIpRanges require an index\n");
+ if (s->inbound_rule_ip_ranges) {
+ for (; s->inbound_rule_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_ip_ranges, "", pa);
+ SET_NEXT(s->inbound_rule_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleIpRanges argument missing\n");
+ s->inbound_rule_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleIpRanges[]")) || aret == '=') {
TRY(!aa, "InboundRuleIpRanges[] argument missing\n");
SET_NEXT(s->inbound_rule_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleProtocols")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleProtocols argument missing\n");
- s->inbound_rule_protocols_str = aa;
+ if ((aret = strcmp(str, "InboundRuleProtocols")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleProtocols argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleProtocols require an index\n");
+ if (s->inbound_rule_protocols) {
+ for (; s->inbound_rule_protocols[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_protocols[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_protocols, "", pa);
+ SET_NEXT(s->inbound_rule_protocols, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleProtocols argument missing\n");
+ s->inbound_rule_protocols_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleProtocols[]")) || aret == '=') {
TRY(!aa, "InboundRuleProtocols[] argument missing\n");
SET_NEXT(s->inbound_rule_protocols, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleSecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleSecurityGroupIds argument missing\n");
- s->inbound_rule_security_group_ids_str = aa;
+ if ((aret = strcmp(str, "InboundRuleSecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleSecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleSecurityGroupIds require an index\n");
+ if (s->inbound_rule_security_group_ids) {
+ for (; s->inbound_rule_security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_security_group_ids, "", pa);
+ SET_NEXT(s->inbound_rule_security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleSecurityGroupIds argument missing\n");
+ s->inbound_rule_security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleSecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "InboundRuleSecurityGroupIds[] argument missing\n");
SET_NEXT(s->inbound_rule_security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleSecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleSecurityGroupNames argument missing\n");
- s->inbound_rule_security_group_names_str = aa;
+ if ((aret = strcmp(str, "InboundRuleSecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleSecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleSecurityGroupNames require an index\n");
+ if (s->inbound_rule_security_group_names) {
+ for (; s->inbound_rule_security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_security_group_names, "", pa);
+ SET_NEXT(s->inbound_rule_security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleSecurityGroupNames argument missing\n");
+ s->inbound_rule_security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleSecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "InboundRuleSecurityGroupNames[] argument missing\n");
SET_NEXT(s->inbound_rule_security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "InboundRuleToPortRanges")) == 0 || aret == '=') {
- TRY(!aa, "InboundRuleToPortRanges argument missing\n");
- s->inbound_rule_to_port_ranges_str = aa;
+ if ((aret = strcmp(str, "InboundRuleToPortRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "InboundRuleToPortRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "InboundRuleToPortRanges require an index\n");
+ if (s->inbound_rule_to_port_ranges) {
+ for (; s->inbound_rule_to_port_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->inbound_rule_to_port_ranges[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->inbound_rule_to_port_ranges, 0, pa);
+ SET_NEXT(s->inbound_rule_to_port_ranges, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "InboundRuleToPortRanges argument missing\n");
+ s->inbound_rule_to_port_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "InboundRuleToPortRanges[]")) || aret == '=') {
TRY(!aa, "InboundRuleToPortRanges[] argument missing\n");
SET_NEXT(s->inbound_rule_to_port_ranges, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleAccountIds argument missing\n");
- s->outbound_rule_account_ids_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleAccountIds require an index\n");
+ if (s->outbound_rule_account_ids) {
+ for (; s->outbound_rule_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_account_ids, "", pa);
+ SET_NEXT(s->outbound_rule_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleAccountIds argument missing\n");
+ s->outbound_rule_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleAccountIds[]")) || aret == '=') {
TRY(!aa, "OutboundRuleAccountIds[] argument missing\n");
SET_NEXT(s->outbound_rule_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleFromPortRanges")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleFromPortRanges argument missing\n");
- s->outbound_rule_from_port_ranges_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleFromPortRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleFromPortRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleFromPortRanges require an index\n");
+ if (s->outbound_rule_from_port_ranges) {
+ for (; s->outbound_rule_from_port_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_from_port_ranges[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_from_port_ranges, 0, pa);
+ SET_NEXT(s->outbound_rule_from_port_ranges, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleFromPortRanges argument missing\n");
+ s->outbound_rule_from_port_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleFromPortRanges[]")) || aret == '=') {
TRY(!aa, "OutboundRuleFromPortRanges[] argument missing\n");
SET_NEXT(s->outbound_rule_from_port_ranges, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleIpRanges argument missing\n");
- s->outbound_rule_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleIpRanges require an index\n");
+ if (s->outbound_rule_ip_ranges) {
+ for (; s->outbound_rule_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_ip_ranges, "", pa);
+ SET_NEXT(s->outbound_rule_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleIpRanges argument missing\n");
+ s->outbound_rule_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleIpRanges[]")) || aret == '=') {
TRY(!aa, "OutboundRuleIpRanges[] argument missing\n");
SET_NEXT(s->outbound_rule_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleProtocols")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleProtocols argument missing\n");
- s->outbound_rule_protocols_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleProtocols")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleProtocols argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleProtocols require an index\n");
+ if (s->outbound_rule_protocols) {
+ for (; s->outbound_rule_protocols[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_protocols[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_protocols, "", pa);
+ SET_NEXT(s->outbound_rule_protocols, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleProtocols argument missing\n");
+ s->outbound_rule_protocols_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleProtocols[]")) || aret == '=') {
TRY(!aa, "OutboundRuleProtocols[] argument missing\n");
SET_NEXT(s->outbound_rule_protocols, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleSecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleSecurityGroupIds argument missing\n");
- s->outbound_rule_security_group_ids_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleSecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleSecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleSecurityGroupIds require an index\n");
+ if (s->outbound_rule_security_group_ids) {
+ for (; s->outbound_rule_security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_security_group_ids, "", pa);
+ SET_NEXT(s->outbound_rule_security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleSecurityGroupIds argument missing\n");
+ s->outbound_rule_security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleSecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "OutboundRuleSecurityGroupIds[] argument missing\n");
SET_NEXT(s->outbound_rule_security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleSecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleSecurityGroupNames argument missing\n");
- s->outbound_rule_security_group_names_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleSecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleSecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleSecurityGroupNames require an index\n");
+ if (s->outbound_rule_security_group_names) {
+ for (; s->outbound_rule_security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_security_group_names, "", pa);
+ SET_NEXT(s->outbound_rule_security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleSecurityGroupNames argument missing\n");
+ s->outbound_rule_security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleSecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "OutboundRuleSecurityGroupNames[] argument missing\n");
SET_NEXT(s->outbound_rule_security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "OutboundRuleToPortRanges")) == 0 || aret == '=') {
- TRY(!aa, "OutboundRuleToPortRanges argument missing\n");
- s->outbound_rule_to_port_ranges_str = aa;
+ if ((aret = strcmp(str, "OutboundRuleToPortRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "OutboundRuleToPortRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "OutboundRuleToPortRanges require an index\n");
+ if (s->outbound_rule_to_port_ranges) {
+ for (; s->outbound_rule_to_port_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->outbound_rule_to_port_ranges[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->outbound_rule_to_port_ranges, 0, pa);
+ SET_NEXT(s->outbound_rule_to_port_ranges, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "OutboundRuleToPortRanges argument missing\n");
+ s->outbound_rule_to_port_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "OutboundRuleToPortRanges[]")) || aret == '=') {
TRY(!aa, "OutboundRuleToPortRanges[] argument missing\n");
SET_NEXT(s->outbound_rule_to_port_ranges, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupNames argument missing\n");
- s->security_group_names_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupNames require an index\n");
+ if (s->security_group_names) {
+ for (; s->security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_names, "", pa);
+ SET_NEXT(s->security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupNames argument missing\n");
+ s->security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "SecurityGroupNames[] argument missing\n");
SET_NEXT(s->security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -3371,9 +7634,30 @@ int filters_security_group_parser(void *v_s, char *str, char *aa, struct ptr_arr
int filters_server_certificate_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_server_certificate *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Paths")) == 0 || aret == '=') {
- TRY(!aa, "Paths argument missing\n");
- s->paths_str = aa;
+ if ((aret = strcmp(str, "Paths")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Paths argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Paths require an index\n");
+ if (s->paths) {
+ for (; s->paths[last]; ++last);
+ }
+ if (pos < last) {
+ s->paths[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->paths, "", pa);
+ SET_NEXT(s->paths, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Paths argument missing\n");
+ s->paths_str = aa;
+ }
} else if (!(aret = strcmp(str, "Paths[]")) || aret == '=') {
TRY(!aa, "Paths[] argument missing\n");
SET_NEXT(s->paths, (aa), pa);
@@ -3388,16 +7672,58 @@ int filters_server_certificate_parser(void *v_s, char *str, char *aa, struct ptr
int filters_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "ServiceIds argument missing\n");
- s->service_ids_str = aa;
+ if ((aret = strcmp(str, "ServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ServiceIds require an index\n");
+ if (s->service_ids) {
+ for (; s->service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->service_ids, "", pa);
+ SET_NEXT(s->service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ServiceIds argument missing\n");
+ s->service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ServiceIds[]")) || aret == '=') {
TRY(!aa, "ServiceIds[] argument missing\n");
SET_NEXT(s->service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ServiceNames")) == 0 || aret == '=') {
- TRY(!aa, "ServiceNames argument missing\n");
- s->service_names_str = aa;
+ if ((aret = strcmp(str, "ServiceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ServiceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ServiceNames require an index\n");
+ if (s->service_names) {
+ for (; s->service_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->service_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->service_names, "", pa);
+ SET_NEXT(s->service_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ServiceNames argument missing\n");
+ s->service_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "ServiceNames[]")) || aret == '=') {
TRY(!aa, "ServiceNames[] argument missing\n");
SET_NEXT(s->service_names, (aa), pa);
@@ -3412,40 +7738,124 @@ int filters_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_snapshot *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountAliases")) == 0 || aret == '=') {
- TRY(!aa, "AccountAliases argument missing\n");
- s->account_aliases_str = aa;
+ if ((aret = strcmp(str, "AccountAliases")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccountAliases argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccountAliases require an index\n");
+ if (s->account_aliases) {
+ for (; s->account_aliases[last]; ++last);
+ }
+ if (pos < last) {
+ s->account_aliases[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->account_aliases, "", pa);
+ SET_NEXT(s->account_aliases, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccountAliases argument missing\n");
+ s->account_aliases_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccountAliases[]")) || aret == '=') {
TRY(!aa, "AccountAliases[] argument missing\n");
SET_NEXT(s->account_aliases, (aa), pa);
} else
- if ((aret = argcmp(str, "AccountIds")) == 0 || aret == '=') {
- TRY(!aa, "AccountIds argument missing\n");
- s->account_ids_str = aa;
+ if ((aret = strcmp(str, "AccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccountIds require an index\n");
+ if (s->account_ids) {
+ for (; s->account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->account_ids, "", pa);
+ SET_NEXT(s->account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccountIds argument missing\n");
+ s->account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccountIds[]")) || aret == '=') {
TRY(!aa, "AccountIds[] argument missing\n");
SET_NEXT(s->account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "FromCreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FromCreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FromCreationDate argument missing\n");
s->from_creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "PermissionsToCreateVolumeAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "PermissionsToCreateVolumeAccountIds argument missing\n");
- s->permissions_to_create_volume_account_ids_str = aa;
+ if ((aret = strcmp(str, "PermissionsToCreateVolumeAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PermissionsToCreateVolumeAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PermissionsToCreateVolumeAccountIds require an index\n");
+ if (s->permissions_to_create_volume_account_ids) {
+ for (; s->permissions_to_create_volume_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->permissions_to_create_volume_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->permissions_to_create_volume_account_ids, "", pa);
+ SET_NEXT(s->permissions_to_create_volume_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PermissionsToCreateVolumeAccountIds argument missing\n");
+ s->permissions_to_create_volume_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "PermissionsToCreateVolumeAccountIds[]")) || aret == '=') {
TRY(!aa, "PermissionsToCreateVolumeAccountIds[] argument missing\n");
SET_NEXT(s->permissions_to_create_volume_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "PermissionsToCreateVolumeGlobalPermission")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PermissionsToCreateVolumeGlobalPermission")) == 0 || aret == '=' || aret == '.') {
s->is_set_permissions_to_create_volume_global_permission = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->permissions_to_create_volume_global_permission = 1;
@@ -3455,63 +7865,231 @@ int filters_snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("PermissionsToCreateVolumeGlobalPermission require true/false\n");
}
} else
- if ((aret = argcmp(str, "Progresses")) == 0 || aret == '=') {
- TRY(!aa, "Progresses argument missing\n");
- s->progresses_str = aa;
+ if ((aret = strcmp(str, "Progresses")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Progresses argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Progresses require an index\n");
+ if (s->progresses) {
+ for (; s->progresses[last]; ++last);
+ }
+ if (pos < last) {
+ s->progresses[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->progresses, 0, pa);
+ SET_NEXT(s->progresses, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Progresses argument missing\n");
+ s->progresses_str = aa;
+ }
} else if (!(aret = strcmp(str, "Progresses[]")) || aret == '=') {
TRY(!aa, "Progresses[] argument missing\n");
SET_NEXT(s->progresses, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "SnapshotIds")) == 0 || aret == '=') {
- TRY(!aa, "SnapshotIds argument missing\n");
- s->snapshot_ids_str = aa;
+ if ((aret = strcmp(str, "SnapshotIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SnapshotIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SnapshotIds require an index\n");
+ if (s->snapshot_ids) {
+ for (; s->snapshot_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->snapshot_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->snapshot_ids, "", pa);
+ SET_NEXT(s->snapshot_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SnapshotIds argument missing\n");
+ s->snapshot_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SnapshotIds[]")) || aret == '=') {
TRY(!aa, "SnapshotIds[] argument missing\n");
SET_NEXT(s->snapshot_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "ToCreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ToCreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ToCreationDate argument missing\n");
s->to_creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeIds")) == 0 || aret == '=') {
- TRY(!aa, "VolumeIds argument missing\n");
- s->volume_ids_str = aa;
+ if ((aret = strcmp(str, "VolumeIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeIds require an index\n");
+ if (s->volume_ids) {
+ for (; s->volume_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_ids, "", pa);
+ SET_NEXT(s->volume_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeIds argument missing\n");
+ s->volume_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeIds[]")) || aret == '=') {
TRY(!aa, "VolumeIds[] argument missing\n");
SET_NEXT(s->volume_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VolumeSizes")) == 0 || aret == '=') {
- TRY(!aa, "VolumeSizes argument missing\n");
- s->volume_sizes_str = aa;
+ if ((aret = strcmp(str, "VolumeSizes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeSizes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeSizes require an index\n");
+ if (s->volume_sizes) {
+ for (; s->volume_sizes[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_sizes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_sizes, 0, pa);
+ SET_NEXT(s->volume_sizes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeSizes argument missing\n");
+ s->volume_sizes_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeSizes[]")) || aret == '=') {
TRY(!aa, "VolumeSizes[] argument missing\n");
SET_NEXT(s->volume_sizes, atoi(aa), pa);
@@ -3526,65 +8104,254 @@ int filters_snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int filters_subnet_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_subnet *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AvailableIpsCounts")) == 0 || aret == '=') {
- TRY(!aa, "AvailableIpsCounts argument missing\n");
- s->available_ips_counts_str = aa;
+ if ((aret = strcmp(str, "AvailableIpsCounts")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AvailableIpsCounts argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AvailableIpsCounts require an index\n");
+ if (s->available_ips_counts) {
+ for (; s->available_ips_counts[last]; ++last);
+ }
+ if (pos < last) {
+ s->available_ips_counts[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->available_ips_counts, 0, pa);
+ SET_NEXT(s->available_ips_counts, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "AvailableIpsCounts argument missing\n");
+ s->available_ips_counts_str = aa;
+ }
} else if (!(aret = strcmp(str, "AvailableIpsCounts[]")) || aret == '=') {
TRY(!aa, "AvailableIpsCounts[] argument missing\n");
SET_NEXT(s->available_ips_counts, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "SubnetIds argument missing\n");
- s->subnet_ids_str = aa;
+ if ((aret = strcmp(str, "SubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubnetIds require an index\n");
+ if (s->subnet_ids) {
+ for (; s->subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnet_ids, "", pa);
+ SET_NEXT(s->subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubnetIds argument missing\n");
+ s->subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubnetIds[]")) || aret == '=') {
TRY(!aa, "SubnetIds[] argument missing\n");
SET_NEXT(s->subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
@@ -3599,23 +8366,86 @@ int filters_subnet_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_subregion_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_subregion *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "RegionNames")) == 0 || aret == '=') {
- TRY(!aa, "RegionNames argument missing\n");
- s->region_names_str = aa;
+ if ((aret = strcmp(str, "RegionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RegionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RegionNames require an index\n");
+ if (s->region_names) {
+ for (; s->region_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->region_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->region_names, "", pa);
+ SET_NEXT(s->region_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RegionNames argument missing\n");
+ s->region_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "RegionNames[]")) || aret == '=') {
TRY(!aa, "RegionNames[] argument missing\n");
SET_NEXT(s->region_names, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
@@ -3630,30 +8460,114 @@ int filters_subregion_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int filters_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_tag *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Keys")) == 0 || aret == '=') {
- TRY(!aa, "Keys argument missing\n");
- s->keys_str = aa;
+ if ((aret = strcmp(str, "Keys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Keys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Keys require an index\n");
+ if (s->keys) {
+ for (; s->keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keys, "", pa);
+ SET_NEXT(s->keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Keys argument missing\n");
+ s->keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "Keys[]")) || aret == '=') {
TRY(!aa, "Keys[] argument missing\n");
SET_NEXT(s->keys, (aa), pa);
} else
- if ((aret = argcmp(str, "ResourceIds")) == 0 || aret == '=') {
- TRY(!aa, "ResourceIds argument missing\n");
- s->resource_ids_str = aa;
+ if ((aret = strcmp(str, "ResourceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ResourceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ResourceIds require an index\n");
+ if (s->resource_ids) {
+ for (; s->resource_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->resource_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->resource_ids, "", pa);
+ SET_NEXT(s->resource_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ResourceIds argument missing\n");
+ s->resource_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ResourceIds[]")) || aret == '=') {
TRY(!aa, "ResourceIds[] argument missing\n");
SET_NEXT(s->resource_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ResourceTypes")) == 0 || aret == '=') {
- TRY(!aa, "ResourceTypes argument missing\n");
- s->resource_types_str = aa;
+ if ((aret = strcmp(str, "ResourceTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ResourceTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ResourceTypes require an index\n");
+ if (s->resource_types) {
+ for (; s->resource_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->resource_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->resource_types, "", pa);
+ SET_NEXT(s->resource_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ResourceTypes argument missing\n");
+ s->resource_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "ResourceTypes[]")) || aret == '=') {
TRY(!aa, "ResourceTypes[] argument missing\n");
SET_NEXT(s->resource_types, (aa), pa);
} else
- if ((aret = argcmp(str, "Values")) == 0 || aret == '=') {
- TRY(!aa, "Values argument missing\n");
- s->values_str = aa;
+ if ((aret = strcmp(str, "Values")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Values argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Values require an index\n");
+ if (s->values) {
+ for (; s->values[last]; ++last);
+ }
+ if (pos < last) {
+ s->values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->values, "", pa);
+ SET_NEXT(s->values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Values argument missing\n");
+ s->values_str = aa;
+ }
} else if (!(aret = strcmp(str, "Values[]")) || aret == '=') {
TRY(!aa, "Values[] argument missing\n");
SET_NEXT(s->values, (aa), pa);
@@ -3668,14 +8582,35 @@ int filters_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_user_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_user_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "PathPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PathPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PathPrefix argument missing\n");
s->path_prefix = aa; // string string
} else
- if ((aret = argcmp(str, "UserGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "UserGroupIds argument missing\n");
- s->user_group_ids_str = aa;
+ if ((aret = strcmp(str, "UserGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "UserGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "UserGroupIds require an index\n");
+ if (s->user_group_ids) {
+ for (; s->user_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->user_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->user_group_ids, "", pa);
+ SET_NEXT(s->user_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "UserGroupIds argument missing\n");
+ s->user_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "UserGroupIds[]")) || aret == '=') {
TRY(!aa, "UserGroupIds[] argument missing\n");
SET_NEXT(s->user_group_ids, (aa), pa);
@@ -3690,58 +8625,226 @@ int filters_user_group_parser(void *v_s, char *str, char *aa, struct ptr_array *
int filters_virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_virtual_gateway *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ConnectionTypes")) == 0 || aret == '=') {
- TRY(!aa, "ConnectionTypes argument missing\n");
- s->connection_types_str = aa;
+ if ((aret = strcmp(str, "ConnectionTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ConnectionTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ConnectionTypes require an index\n");
+ if (s->connection_types) {
+ for (; s->connection_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->connection_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->connection_types, "", pa);
+ SET_NEXT(s->connection_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ConnectionTypes argument missing\n");
+ s->connection_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "ConnectionTypes[]")) || aret == '=') {
TRY(!aa, "ConnectionTypes[] argument missing\n");
SET_NEXT(s->connection_types, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkNetIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkNetIds argument missing\n");
- s->link_net_ids_str = aa;
+ if ((aret = strcmp(str, "LinkNetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkNetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkNetIds require an index\n");
+ if (s->link_net_ids) {
+ for (; s->link_net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_net_ids, "", pa);
+ SET_NEXT(s->link_net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkNetIds argument missing\n");
+ s->link_net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkNetIds[]")) || aret == '=') {
TRY(!aa, "LinkNetIds[] argument missing\n");
SET_NEXT(s->link_net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkStates")) == 0 || aret == '=') {
- TRY(!aa, "LinkStates argument missing\n");
- s->link_states_str = aa;
+ if ((aret = strcmp(str, "LinkStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkStates require an index\n");
+ if (s->link_states) {
+ for (; s->link_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_states, "", pa);
+ SET_NEXT(s->link_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkStates argument missing\n");
+ s->link_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkStates[]")) || aret == '=') {
TRY(!aa, "LinkStates[] argument missing\n");
SET_NEXT(s->link_states, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VirtualGatewayIds")) == 0 || aret == '=') {
- TRY(!aa, "VirtualGatewayIds argument missing\n");
- s->virtual_gateway_ids_str = aa;
+ if ((aret = strcmp(str, "VirtualGatewayIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VirtualGatewayIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VirtualGatewayIds require an index\n");
+ if (s->virtual_gateway_ids) {
+ for (; s->virtual_gateway_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->virtual_gateway_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->virtual_gateway_ids, "", pa);
+ SET_NEXT(s->virtual_gateway_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VirtualGatewayIds argument missing\n");
+ s->virtual_gateway_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VirtualGatewayIds[]")) || aret == '=') {
TRY(!aa, "VirtualGatewayIds[] argument missing\n");
SET_NEXT(s->virtual_gateway_ids, (aa), pa);
@@ -3756,14 +8859,35 @@ int filters_virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_ar
int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vm *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Architectures")) == 0 || aret == '=') {
- TRY(!aa, "Architectures argument missing\n");
- s->architectures_str = aa;
+ if ((aret = strcmp(str, "Architectures")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Architectures argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Architectures require an index\n");
+ if (s->architectures) {
+ for (; s->architectures[last]; ++last);
+ }
+ if (pos < last) {
+ s->architectures[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->architectures, "", pa);
+ SET_NEXT(s->architectures, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Architectures argument missing\n");
+ s->architectures_str = aa;
+ }
} else if (!(aret = strcmp(str, "Architectures[]")) || aret == '=') {
TRY(!aa, "Architectures[] argument missing\n");
SET_NEXT(s->architectures, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingDeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BlockDeviceMappingDeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_block_device_mapping_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->block_device_mapping_delete_on_vm_deletion = 1;
@@ -3773,56 +8897,203 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("BlockDeviceMappingDeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "BlockDeviceMappingDeviceNames")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingDeviceNames argument missing\n");
- s->block_device_mapping_device_names_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingDeviceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingDeviceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingDeviceNames require an index\n");
+ if (s->block_device_mapping_device_names) {
+ for (; s->block_device_mapping_device_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_device_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_device_names, "", pa);
+ SET_NEXT(s->block_device_mapping_device_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingDeviceNames argument missing\n");
+ s->block_device_mapping_device_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingDeviceNames[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingDeviceNames[] argument missing\n");
SET_NEXT(s->block_device_mapping_device_names, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingLinkDates")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingLinkDates argument missing\n");
- s->block_device_mapping_link_dates_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingLinkDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingLinkDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingLinkDates require an index\n");
+ if (s->block_device_mapping_link_dates) {
+ for (; s->block_device_mapping_link_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_link_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_link_dates, "", pa);
+ SET_NEXT(s->block_device_mapping_link_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingLinkDates argument missing\n");
+ s->block_device_mapping_link_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingLinkDates[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingLinkDates[] argument missing\n");
SET_NEXT(s->block_device_mapping_link_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingStates")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingStates argument missing\n");
- s->block_device_mapping_states_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingStates require an index\n");
+ if (s->block_device_mapping_states) {
+ for (; s->block_device_mapping_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_states, "", pa);
+ SET_NEXT(s->block_device_mapping_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingStates argument missing\n");
+ s->block_device_mapping_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingStates[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingStates[] argument missing\n");
SET_NEXT(s->block_device_mapping_states, (aa), pa);
} else
- if ((aret = argcmp(str, "BlockDeviceMappingVolumeIds")) == 0 || aret == '=') {
- TRY(!aa, "BlockDeviceMappingVolumeIds argument missing\n");
- s->block_device_mapping_volume_ids_str = aa;
+ if ((aret = strcmp(str, "BlockDeviceMappingVolumeIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BlockDeviceMappingVolumeIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BlockDeviceMappingVolumeIds require an index\n");
+ if (s->block_device_mapping_volume_ids) {
+ for (; s->block_device_mapping_volume_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->block_device_mapping_volume_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->block_device_mapping_volume_ids, "", pa);
+ SET_NEXT(s->block_device_mapping_volume_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BlockDeviceMappingVolumeIds argument missing\n");
+ s->block_device_mapping_volume_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BlockDeviceMappingVolumeIds[]")) || aret == '=') {
TRY(!aa, "BlockDeviceMappingVolumeIds[] argument missing\n");
SET_NEXT(s->block_device_mapping_volume_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ClientTokens")) == 0 || aret == '=') {
- TRY(!aa, "ClientTokens argument missing\n");
- s->client_tokens_str = aa;
+ if ((aret = strcmp(str, "ClientTokens")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ClientTokens argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ClientTokens require an index\n");
+ if (s->client_tokens) {
+ for (; s->client_tokens[last]; ++last);
+ }
+ if (pos < last) {
+ s->client_tokens[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->client_tokens, "", pa);
+ SET_NEXT(s->client_tokens, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ClientTokens argument missing\n");
+ s->client_tokens_str = aa;
+ }
} else if (!(aret = strcmp(str, "ClientTokens[]")) || aret == '=') {
TRY(!aa, "ClientTokens[] argument missing\n");
SET_NEXT(s->client_tokens, (aa), pa);
} else
- if ((aret = argcmp(str, "CreationDates")) == 0 || aret == '=') {
- TRY(!aa, "CreationDates argument missing\n");
- s->creation_dates_str = aa;
+ if ((aret = strcmp(str, "CreationDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CreationDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CreationDates require an index\n");
+ if (s->creation_dates) {
+ for (; s->creation_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->creation_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->creation_dates, "", pa);
+ SET_NEXT(s->creation_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CreationDates argument missing\n");
+ s->creation_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "CreationDates[]")) || aret == '=') {
TRY(!aa, "CreationDates[] argument missing\n");
SET_NEXT(s->creation_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "ImageIds")) == 0 || aret == '=') {
- TRY(!aa, "ImageIds argument missing\n");
- s->image_ids_str = aa;
+ if ((aret = strcmp(str, "ImageIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ImageIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ImageIds require an index\n");
+ if (s->image_ids) {
+ for (; s->image_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->image_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->image_ids, "", pa);
+ SET_NEXT(s->image_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ImageIds argument missing\n");
+ s->image_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ImageIds[]")) || aret == '=') {
TRY(!aa, "ImageIds[] argument missing\n");
SET_NEXT(s->image_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "IsSourceDestChecked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_source_dest_checked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_source_dest_checked = 1;
@@ -3832,49 +9103,175 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(str, "KeypairNames")) == 0 || aret == '=') {
- TRY(!aa, "KeypairNames argument missing\n");
- s->keypair_names_str = aa;
+ if ((aret = strcmp(str, "KeypairNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "KeypairNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "KeypairNames require an index\n");
+ if (s->keypair_names) {
+ for (; s->keypair_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->keypair_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keypair_names, "", pa);
+ SET_NEXT(s->keypair_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "KeypairNames argument missing\n");
+ s->keypair_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "KeypairNames[]")) || aret == '=') {
TRY(!aa, "KeypairNames[] argument missing\n");
SET_NEXT(s->keypair_names, (aa), pa);
} else
- if ((aret = argcmp(str, "LaunchNumbers")) == 0 || aret == '=') {
- TRY(!aa, "LaunchNumbers argument missing\n");
- s->launch_numbers_str = aa;
+ if ((aret = strcmp(str, "LaunchNumbers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LaunchNumbers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LaunchNumbers require an index\n");
+ if (s->launch_numbers) {
+ for (; s->launch_numbers[last]; ++last);
+ }
+ if (pos < last) {
+ s->launch_numbers[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->launch_numbers, 0, pa);
+ SET_NEXT(s->launch_numbers, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "LaunchNumbers argument missing\n");
+ s->launch_numbers_str = aa;
+ }
} else if (!(aret = strcmp(str, "LaunchNumbers[]")) || aret == '=') {
TRY(!aa, "LaunchNumbers[] argument missing\n");
SET_NEXT(s->launch_numbers, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "Lifecycles")) == 0 || aret == '=') {
- TRY(!aa, "Lifecycles argument missing\n");
- s->lifecycles_str = aa;
+ if ((aret = strcmp(str, "Lifecycles")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Lifecycles argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Lifecycles require an index\n");
+ if (s->lifecycles) {
+ for (; s->lifecycles[last]; ++last);
+ }
+ if (pos < last) {
+ s->lifecycles[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->lifecycles, "", pa);
+ SET_NEXT(s->lifecycles, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Lifecycles argument missing\n");
+ s->lifecycles_str = aa;
+ }
} else if (!(aret = strcmp(str, "Lifecycles[]")) || aret == '=') {
TRY(!aa, "Lifecycles[] argument missing\n");
SET_NEXT(s->lifecycles, (aa), pa);
} else
- if ((aret = argcmp(str, "NetIds")) == 0 || aret == '=') {
- TRY(!aa, "NetIds argument missing\n");
- s->net_ids_str = aa;
+ if ((aret = strcmp(str, "NetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NetIds require an index\n");
+ if (s->net_ids) {
+ for (; s->net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->net_ids, "", pa);
+ SET_NEXT(s->net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NetIds argument missing\n");
+ s->net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NetIds[]")) || aret == '=') {
TRY(!aa, "NetIds[] argument missing\n");
SET_NEXT(s->net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "NicAccountIds argument missing\n");
- s->nic_account_ids_str = aa;
+ if ((aret = strcmp(str, "NicAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicAccountIds require an index\n");
+ if (s->nic_account_ids) {
+ for (; s->nic_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_account_ids, "", pa);
+ SET_NEXT(s->nic_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicAccountIds argument missing\n");
+ s->nic_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicAccountIds[]")) || aret == '=') {
TRY(!aa, "NicAccountIds[] argument missing\n");
SET_NEXT(s->nic_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicDescriptions")) == 0 || aret == '=') {
- TRY(!aa, "NicDescriptions argument missing\n");
- s->nic_descriptions_str = aa;
+ if ((aret = strcmp(str, "NicDescriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicDescriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicDescriptions require an index\n");
+ if (s->nic_descriptions) {
+ for (; s->nic_descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_descriptions, "", pa);
+ SET_NEXT(s->nic_descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicDescriptions argument missing\n");
+ s->nic_descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicDescriptions[]")) || aret == '=') {
TRY(!aa, "NicDescriptions[] argument missing\n");
SET_NEXT(s->nic_descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "NicIsSourceDestChecked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicIsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
s->is_set_nic_is_source_dest_checked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->nic_is_source_dest_checked = 1;
@@ -3884,7 +9281,7 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("NicIsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(str, "NicLinkNicDeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicLinkNicDeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_nic_link_nic_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->nic_link_nic_delete_on_vm_deletion = 1;
@@ -3894,112 +9291,427 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("NicLinkNicDeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "NicLinkNicDeviceNumbers")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicDeviceNumbers argument missing\n");
- s->nic_link_nic_device_numbers_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicDeviceNumbers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicDeviceNumbers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicDeviceNumbers require an index\n");
+ if (s->nic_link_nic_device_numbers) {
+ for (; s->nic_link_nic_device_numbers[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_device_numbers[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_device_numbers, 0, pa);
+ SET_NEXT(s->nic_link_nic_device_numbers, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicDeviceNumbers argument missing\n");
+ s->nic_link_nic_device_numbers_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicDeviceNumbers[]")) || aret == '=') {
TRY(!aa, "NicLinkNicDeviceNumbers[] argument missing\n");
SET_NEXT(s->nic_link_nic_device_numbers, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkNicLinkNicDates")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicLinkNicDates argument missing\n");
- s->nic_link_nic_link_nic_dates_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicLinkNicDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicLinkNicDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicLinkNicDates require an index\n");
+ if (s->nic_link_nic_link_nic_dates) {
+ for (; s->nic_link_nic_link_nic_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_link_nic_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_link_nic_dates, "", pa);
+ SET_NEXT(s->nic_link_nic_link_nic_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicLinkNicDates argument missing\n");
+ s->nic_link_nic_link_nic_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicLinkNicDates[]")) || aret == '=') {
TRY(!aa, "NicLinkNicLinkNicDates[] argument missing\n");
SET_NEXT(s->nic_link_nic_link_nic_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkNicLinkNicIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicLinkNicIds argument missing\n");
- s->nic_link_nic_link_nic_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicLinkNicIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicLinkNicIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicLinkNicIds require an index\n");
+ if (s->nic_link_nic_link_nic_ids) {
+ for (; s->nic_link_nic_link_nic_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_link_nic_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_link_nic_ids, "", pa);
+ SET_NEXT(s->nic_link_nic_link_nic_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicLinkNicIds argument missing\n");
+ s->nic_link_nic_link_nic_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicLinkNicIds[]")) || aret == '=') {
TRY(!aa, "NicLinkNicLinkNicIds[] argument missing\n");
SET_NEXT(s->nic_link_nic_link_nic_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkNicStates")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicStates argument missing\n");
- s->nic_link_nic_states_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicStates require an index\n");
+ if (s->nic_link_nic_states) {
+ for (; s->nic_link_nic_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_states, "", pa);
+ SET_NEXT(s->nic_link_nic_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicStates argument missing\n");
+ s->nic_link_nic_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicStates[]")) || aret == '=') {
TRY(!aa, "NicLinkNicStates[] argument missing\n");
SET_NEXT(s->nic_link_nic_states, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkNicVmAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicVmAccountIds argument missing\n");
- s->nic_link_nic_vm_account_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicVmAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicVmAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicVmAccountIds require an index\n");
+ if (s->nic_link_nic_vm_account_ids) {
+ for (; s->nic_link_nic_vm_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_vm_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_vm_account_ids, "", pa);
+ SET_NEXT(s->nic_link_nic_vm_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicVmAccountIds argument missing\n");
+ s->nic_link_nic_vm_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicVmAccountIds[]")) || aret == '=') {
TRY(!aa, "NicLinkNicVmAccountIds[] argument missing\n");
SET_NEXT(s->nic_link_nic_vm_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkNicVmIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkNicVmIds argument missing\n");
- s->nic_link_nic_vm_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkNicVmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkNicVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkNicVmIds require an index\n");
+ if (s->nic_link_nic_vm_ids) {
+ for (; s->nic_link_nic_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_nic_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_nic_vm_ids, "", pa);
+ SET_NEXT(s->nic_link_nic_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkNicVmIds argument missing\n");
+ s->nic_link_nic_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkNicVmIds[]")) || aret == '=') {
TRY(!aa, "NicLinkNicVmIds[] argument missing\n");
SET_NEXT(s->nic_link_nic_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkPublicIpAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkPublicIpAccountIds argument missing\n");
- s->nic_link_public_ip_account_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkPublicIpAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkPublicIpAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkPublicIpAccountIds require an index\n");
+ if (s->nic_link_public_ip_account_ids) {
+ for (; s->nic_link_public_ip_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_public_ip_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_public_ip_account_ids, "", pa);
+ SET_NEXT(s->nic_link_public_ip_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkPublicIpAccountIds argument missing\n");
+ s->nic_link_public_ip_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkPublicIpAccountIds[]")) || aret == '=') {
TRY(!aa, "NicLinkPublicIpAccountIds[] argument missing\n");
SET_NEXT(s->nic_link_public_ip_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkPublicIpLinkPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkPublicIpLinkPublicIpIds argument missing\n");
- s->nic_link_public_ip_link_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkPublicIpLinkPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkPublicIpLinkPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkPublicIpLinkPublicIpIds require an index\n");
+ if (s->nic_link_public_ip_link_public_ip_ids) {
+ for (; s->nic_link_public_ip_link_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_public_ip_link_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_public_ip_link_public_ip_ids, "", pa);
+ SET_NEXT(s->nic_link_public_ip_link_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkPublicIpLinkPublicIpIds argument missing\n");
+ s->nic_link_public_ip_link_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkPublicIpLinkPublicIpIds[]")) || aret == '=') {
TRY(!aa, "NicLinkPublicIpLinkPublicIpIds[] argument missing\n");
SET_NEXT(s->nic_link_public_ip_link_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkPublicIpPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkPublicIpPublicIpIds argument missing\n");
- s->nic_link_public_ip_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "NicLinkPublicIpPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkPublicIpPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkPublicIpPublicIpIds require an index\n");
+ if (s->nic_link_public_ip_public_ip_ids) {
+ for (; s->nic_link_public_ip_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_public_ip_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_public_ip_public_ip_ids, "", pa);
+ SET_NEXT(s->nic_link_public_ip_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkPublicIpPublicIpIds argument missing\n");
+ s->nic_link_public_ip_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkPublicIpPublicIpIds[]")) || aret == '=') {
TRY(!aa, "NicLinkPublicIpPublicIpIds[] argument missing\n");
SET_NEXT(s->nic_link_public_ip_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicLinkPublicIpPublicIps")) == 0 || aret == '=') {
- TRY(!aa, "NicLinkPublicIpPublicIps argument missing\n");
- s->nic_link_public_ip_public_ips_str = aa;
+ if ((aret = strcmp(str, "NicLinkPublicIpPublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicLinkPublicIpPublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicLinkPublicIpPublicIps require an index\n");
+ if (s->nic_link_public_ip_public_ips) {
+ for (; s->nic_link_public_ip_public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_link_public_ip_public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_link_public_ip_public_ips, "", pa);
+ SET_NEXT(s->nic_link_public_ip_public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicLinkPublicIpPublicIps argument missing\n");
+ s->nic_link_public_ip_public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicLinkPublicIpPublicIps[]")) || aret == '=') {
TRY(!aa, "NicLinkPublicIpPublicIps[] argument missing\n");
SET_NEXT(s->nic_link_public_ip_public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "NicMacAddresses")) == 0 || aret == '=') {
- TRY(!aa, "NicMacAddresses argument missing\n");
- s->nic_mac_addresses_str = aa;
+ if ((aret = strcmp(str, "NicMacAddresses")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicMacAddresses argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicMacAddresses require an index\n");
+ if (s->nic_mac_addresses) {
+ for (; s->nic_mac_addresses[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_mac_addresses[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_mac_addresses, "", pa);
+ SET_NEXT(s->nic_mac_addresses, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicMacAddresses argument missing\n");
+ s->nic_mac_addresses_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicMacAddresses[]")) || aret == '=') {
TRY(!aa, "NicMacAddresses[] argument missing\n");
SET_NEXT(s->nic_mac_addresses, (aa), pa);
} else
- if ((aret = argcmp(str, "NicNetIds")) == 0 || aret == '=') {
- TRY(!aa, "NicNetIds argument missing\n");
- s->nic_net_ids_str = aa;
+ if ((aret = strcmp(str, "NicNetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicNetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicNetIds require an index\n");
+ if (s->nic_net_ids) {
+ for (; s->nic_net_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_net_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_net_ids, "", pa);
+ SET_NEXT(s->nic_net_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicNetIds argument missing\n");
+ s->nic_net_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicNetIds[]")) || aret == '=') {
TRY(!aa, "NicNetIds[] argument missing\n");
SET_NEXT(s->nic_net_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicNicIds")) == 0 || aret == '=') {
- TRY(!aa, "NicNicIds argument missing\n");
- s->nic_nic_ids_str = aa;
+ if ((aret = strcmp(str, "NicNicIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicNicIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicNicIds require an index\n");
+ if (s->nic_nic_ids) {
+ for (; s->nic_nic_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_nic_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_nic_ids, "", pa);
+ SET_NEXT(s->nic_nic_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicNicIds argument missing\n");
+ s->nic_nic_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicNicIds[]")) || aret == '=') {
TRY(!aa, "NicNicIds[] argument missing\n");
SET_NEXT(s->nic_nic_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicPrivateIpsLinkPublicIpAccountIds")) == 0 || aret == '=') {
- TRY(!aa, "NicPrivateIpsLinkPublicIpAccountIds argument missing\n");
- s->nic_private_ips_link_public_ip_account_ids_str = aa;
+ if ((aret = strcmp(str, "NicPrivateIpsLinkPublicIpAccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicPrivateIpsLinkPublicIpAccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicPrivateIpsLinkPublicIpAccountIds require an index\n");
+ if (s->nic_private_ips_link_public_ip_account_ids) {
+ for (; s->nic_private_ips_link_public_ip_account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_private_ips_link_public_ip_account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_private_ips_link_public_ip_account_ids, "", pa);
+ SET_NEXT(s->nic_private_ips_link_public_ip_account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicPrivateIpsLinkPublicIpAccountIds argument missing\n");
+ s->nic_private_ips_link_public_ip_account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicPrivateIpsLinkPublicIpAccountIds[]")) || aret == '=') {
TRY(!aa, "NicPrivateIpsLinkPublicIpAccountIds[] argument missing\n");
SET_NEXT(s->nic_private_ips_link_public_ip_account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicPrivateIpsLinkPublicIpIds")) == 0 || aret == '=') {
- TRY(!aa, "NicPrivateIpsLinkPublicIpIds argument missing\n");
- s->nic_private_ips_link_public_ip_ids_str = aa;
+ if ((aret = strcmp(str, "NicPrivateIpsLinkPublicIpIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicPrivateIpsLinkPublicIpIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicPrivateIpsLinkPublicIpIds require an index\n");
+ if (s->nic_private_ips_link_public_ip_ids) {
+ for (; s->nic_private_ips_link_public_ip_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_private_ips_link_public_ip_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_private_ips_link_public_ip_ids, "", pa);
+ SET_NEXT(s->nic_private_ips_link_public_ip_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicPrivateIpsLinkPublicIpIds argument missing\n");
+ s->nic_private_ips_link_public_ip_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicPrivateIpsLinkPublicIpIds[]")) || aret == '=') {
TRY(!aa, "NicPrivateIpsLinkPublicIpIds[] argument missing\n");
SET_NEXT(s->nic_private_ips_link_public_ip_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicPrivateIpsPrimaryIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicPrivateIpsPrimaryIp")) == 0 || aret == '=' || aret == '.') {
s->is_set_nic_private_ips_primary_ip = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->nic_private_ips_primary_ip = 1;
@@ -4009,212 +9721,842 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("NicPrivateIpsPrimaryIp require true/false\n");
}
} else
- if ((aret = argcmp(str, "NicPrivateIpsPrivateIps")) == 0 || aret == '=') {
- TRY(!aa, "NicPrivateIpsPrivateIps argument missing\n");
- s->nic_private_ips_private_ips_str = aa;
+ if ((aret = strcmp(str, "NicPrivateIpsPrivateIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicPrivateIpsPrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicPrivateIpsPrivateIps require an index\n");
+ if (s->nic_private_ips_private_ips) {
+ for (; s->nic_private_ips_private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_private_ips_private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_private_ips_private_ips, "", pa);
+ SET_NEXT(s->nic_private_ips_private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicPrivateIpsPrivateIps argument missing\n");
+ s->nic_private_ips_private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicPrivateIpsPrivateIps[]")) || aret == '=') {
TRY(!aa, "NicPrivateIpsPrivateIps[] argument missing\n");
SET_NEXT(s->nic_private_ips_private_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "NicSecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "NicSecurityGroupIds argument missing\n");
- s->nic_security_group_ids_str = aa;
+ if ((aret = strcmp(str, "NicSecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicSecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicSecurityGroupIds require an index\n");
+ if (s->nic_security_group_ids) {
+ for (; s->nic_security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_security_group_ids, "", pa);
+ SET_NEXT(s->nic_security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicSecurityGroupIds argument missing\n");
+ s->nic_security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicSecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "NicSecurityGroupIds[] argument missing\n");
SET_NEXT(s->nic_security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicSecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "NicSecurityGroupNames argument missing\n");
- s->nic_security_group_names_str = aa;
+ if ((aret = strcmp(str, "NicSecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicSecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicSecurityGroupNames require an index\n");
+ if (s->nic_security_group_names) {
+ for (; s->nic_security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_security_group_names, "", pa);
+ SET_NEXT(s->nic_security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicSecurityGroupNames argument missing\n");
+ s->nic_security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicSecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "NicSecurityGroupNames[] argument missing\n");
SET_NEXT(s->nic_security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "NicStates")) == 0 || aret == '=') {
- TRY(!aa, "NicStates argument missing\n");
- s->nic_states_str = aa;
+ if ((aret = strcmp(str, "NicStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicStates require an index\n");
+ if (s->nic_states) {
+ for (; s->nic_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_states, "", pa);
+ SET_NEXT(s->nic_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicStates argument missing\n");
+ s->nic_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicStates[]")) || aret == '=') {
TRY(!aa, "NicStates[] argument missing\n");
SET_NEXT(s->nic_states, (aa), pa);
} else
- if ((aret = argcmp(str, "NicSubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "NicSubnetIds argument missing\n");
- s->nic_subnet_ids_str = aa;
+ if ((aret = strcmp(str, "NicSubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicSubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicSubnetIds require an index\n");
+ if (s->nic_subnet_ids) {
+ for (; s->nic_subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_subnet_ids, "", pa);
+ SET_NEXT(s->nic_subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicSubnetIds argument missing\n");
+ s->nic_subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicSubnetIds[]")) || aret == '=') {
TRY(!aa, "NicSubnetIds[] argument missing\n");
SET_NEXT(s->nic_subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "NicSubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "NicSubregionNames argument missing\n");
- s->nic_subregion_names_str = aa;
+ if ((aret = strcmp(str, "NicSubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NicSubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NicSubregionNames require an index\n");
+ if (s->nic_subregion_names) {
+ for (; s->nic_subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->nic_subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->nic_subregion_names, "", pa);
+ SET_NEXT(s->nic_subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NicSubregionNames argument missing\n");
+ s->nic_subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "NicSubregionNames[]")) || aret == '=') {
TRY(!aa, "NicSubregionNames[] argument missing\n");
SET_NEXT(s->nic_subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "Platforms")) == 0 || aret == '=') {
- TRY(!aa, "Platforms argument missing\n");
- s->platforms_str = aa;
+ if ((aret = strcmp(str, "Platforms")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Platforms argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Platforms require an index\n");
+ if (s->platforms) {
+ for (; s->platforms[last]; ++last);
+ }
+ if (pos < last) {
+ s->platforms[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->platforms, "", pa);
+ SET_NEXT(s->platforms, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Platforms argument missing\n");
+ s->platforms_str = aa;
+ }
} else if (!(aret = strcmp(str, "Platforms[]")) || aret == '=') {
TRY(!aa, "Platforms[] argument missing\n");
SET_NEXT(s->platforms, (aa), pa);
} else
- if ((aret = argcmp(str, "PrivateIps")) == 0 || aret == '=') {
- TRY(!aa, "PrivateIps argument missing\n");
- s->private_ips_str = aa;
+ if ((aret = strcmp(str, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIps require an index\n");
+ if (s->private_ips) {
+ for (; s->private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips, "", pa);
+ SET_NEXT(s->private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIps argument missing\n");
+ s->private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIps[] argument missing\n");
SET_NEXT(s->private_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "ProductCodes")) == 0 || aret == '=') {
- TRY(!aa, "ProductCodes argument missing\n");
- s->product_codes_str = aa;
+ if ((aret = strcmp(str, "ProductCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodes require an index\n");
+ if (s->product_codes) {
+ for (; s->product_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_codes, "", pa);
+ SET_NEXT(s->product_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodes argument missing\n");
+ s->product_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodes[]")) || aret == '=') {
TRY(!aa, "ProductCodes[] argument missing\n");
SET_NEXT(s->product_codes, (aa), pa);
} else
- if ((aret = argcmp(str, "PublicIps")) == 0 || aret == '=') {
- TRY(!aa, "PublicIps argument missing\n");
- s->public_ips_str = aa;
+ if ((aret = strcmp(str, "PublicIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PublicIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PublicIps require an index\n");
+ if (s->public_ips) {
+ for (; s->public_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->public_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->public_ips, "", pa);
+ SET_NEXT(s->public_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PublicIps argument missing\n");
+ s->public_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PublicIps[]")) || aret == '=') {
TRY(!aa, "PublicIps[] argument missing\n");
SET_NEXT(s->public_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "ReservationIds")) == 0 || aret == '=') {
- TRY(!aa, "ReservationIds argument missing\n");
- s->reservation_ids_str = aa;
+ if ((aret = strcmp(str, "ReservationIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ReservationIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ReservationIds require an index\n");
+ if (s->reservation_ids) {
+ for (; s->reservation_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->reservation_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->reservation_ids, "", pa);
+ SET_NEXT(s->reservation_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ReservationIds argument missing\n");
+ s->reservation_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ReservationIds[]")) || aret == '=') {
TRY(!aa, "ReservationIds[] argument missing\n");
SET_NEXT(s->reservation_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "RootDeviceNames")) == 0 || aret == '=') {
- TRY(!aa, "RootDeviceNames argument missing\n");
- s->root_device_names_str = aa;
+ if ((aret = strcmp(str, "RootDeviceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RootDeviceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RootDeviceNames require an index\n");
+ if (s->root_device_names) {
+ for (; s->root_device_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->root_device_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->root_device_names, "", pa);
+ SET_NEXT(s->root_device_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RootDeviceNames argument missing\n");
+ s->root_device_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "RootDeviceNames[]")) || aret == '=') {
TRY(!aa, "RootDeviceNames[] argument missing\n");
SET_NEXT(s->root_device_names, (aa), pa);
} else
- if ((aret = argcmp(str, "RootDeviceTypes")) == 0 || aret == '=') {
- TRY(!aa, "RootDeviceTypes argument missing\n");
- s->root_device_types_str = aa;
+ if ((aret = strcmp(str, "RootDeviceTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RootDeviceTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RootDeviceTypes require an index\n");
+ if (s->root_device_types) {
+ for (; s->root_device_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->root_device_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->root_device_types, "", pa);
+ SET_NEXT(s->root_device_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RootDeviceTypes argument missing\n");
+ s->root_device_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "RootDeviceTypes[]")) || aret == '=') {
TRY(!aa, "RootDeviceTypes[] argument missing\n");
SET_NEXT(s->root_device_types, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupNames argument missing\n");
- s->security_group_names_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupNames require an index\n");
+ if (s->security_group_names) {
+ for (; s->security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_names, "", pa);
+ SET_NEXT(s->security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupNames argument missing\n");
+ s->security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "SecurityGroupNames[] argument missing\n");
SET_NEXT(s->security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "StateReasonCodes")) == 0 || aret == '=') {
- TRY(!aa, "StateReasonCodes argument missing\n");
- s->state_reason_codes_str = aa;
+ if ((aret = strcmp(str, "StateReasonCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "StateReasonCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "StateReasonCodes require an index\n");
+ if (s->state_reason_codes) {
+ for (; s->state_reason_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->state_reason_codes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->state_reason_codes, 0, pa);
+ SET_NEXT(s->state_reason_codes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "StateReasonCodes argument missing\n");
+ s->state_reason_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "StateReasonCodes[]")) || aret == '=') {
TRY(!aa, "StateReasonCodes[] argument missing\n");
SET_NEXT(s->state_reason_codes, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "StateReasonMessages")) == 0 || aret == '=') {
- TRY(!aa, "StateReasonMessages argument missing\n");
- s->state_reason_messages_str = aa;
+ if ((aret = strcmp(str, "StateReasonMessages")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "StateReasonMessages argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "StateReasonMessages require an index\n");
+ if (s->state_reason_messages) {
+ for (; s->state_reason_messages[last]; ++last);
+ }
+ if (pos < last) {
+ s->state_reason_messages[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->state_reason_messages, "", pa);
+ SET_NEXT(s->state_reason_messages, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "StateReasonMessages argument missing\n");
+ s->state_reason_messages_str = aa;
+ }
} else if (!(aret = strcmp(str, "StateReasonMessages[]")) || aret == '=') {
TRY(!aa, "StateReasonMessages[] argument missing\n");
SET_NEXT(s->state_reason_messages, (aa), pa);
} else
- if ((aret = argcmp(str, "StateReasons")) == 0 || aret == '=') {
- TRY(!aa, "StateReasons argument missing\n");
- s->state_reasons_str = aa;
+ if ((aret = strcmp(str, "StateReasons")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "StateReasons argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "StateReasons require an index\n");
+ if (s->state_reasons) {
+ for (; s->state_reasons[last]; ++last);
+ }
+ if (pos < last) {
+ s->state_reasons[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->state_reasons, "", pa);
+ SET_NEXT(s->state_reasons, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "StateReasons argument missing\n");
+ s->state_reasons_str = aa;
+ }
} else if (!(aret = strcmp(str, "StateReasons[]")) || aret == '=') {
TRY(!aa, "StateReasons[] argument missing\n");
SET_NEXT(s->state_reasons, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "SubnetIds argument missing\n");
- s->subnet_ids_str = aa;
+ if ((aret = strcmp(str, "SubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubnetIds require an index\n");
+ if (s->subnet_ids) {
+ for (; s->subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnet_ids, "", pa);
+ SET_NEXT(s->subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubnetIds argument missing\n");
+ s->subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubnetIds[]")) || aret == '=') {
TRY(!aa, "SubnetIds[] argument missing\n");
SET_NEXT(s->subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "Tenancies")) == 0 || aret == '=') {
- TRY(!aa, "Tenancies argument missing\n");
- s->tenancies_str = aa;
+ if ((aret = strcmp(str, "Tenancies")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tenancies argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tenancies require an index\n");
+ if (s->tenancies) {
+ for (; s->tenancies[last]; ++last);
+ }
+ if (pos < last) {
+ s->tenancies[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tenancies, "", pa);
+ SET_NEXT(s->tenancies, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tenancies argument missing\n");
+ s->tenancies_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tenancies[]")) || aret == '=') {
TRY(!aa, "Tenancies[] argument missing\n");
SET_NEXT(s->tenancies, (aa), pa);
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmSecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "VmSecurityGroupIds argument missing\n");
- s->vm_security_group_ids_str = aa;
+ if ((aret = strcmp(str, "VmSecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmSecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmSecurityGroupIds require an index\n");
+ if (s->vm_security_group_ids) {
+ for (; s->vm_security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_security_group_ids, "", pa);
+ SET_NEXT(s->vm_security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmSecurityGroupIds argument missing\n");
+ s->vm_security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmSecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "VmSecurityGroupIds[] argument missing\n");
SET_NEXT(s->vm_security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmSecurityGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "VmSecurityGroupNames argument missing\n");
- s->vm_security_group_names_str = aa;
+ if ((aret = strcmp(str, "VmSecurityGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmSecurityGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmSecurityGroupNames require an index\n");
+ if (s->vm_security_group_names) {
+ for (; s->vm_security_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_security_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_security_group_names, "", pa);
+ SET_NEXT(s->vm_security_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmSecurityGroupNames argument missing\n");
+ s->vm_security_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmSecurityGroupNames[]")) || aret == '=') {
TRY(!aa, "VmSecurityGroupNames[] argument missing\n");
SET_NEXT(s->vm_security_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VmStateCodes")) == 0 || aret == '=') {
- TRY(!aa, "VmStateCodes argument missing\n");
- s->vm_state_codes_str = aa;
+ if ((aret = strcmp(str, "VmStateCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmStateCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmStateCodes require an index\n");
+ if (s->vm_state_codes) {
+ for (; s->vm_state_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_state_codes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_state_codes, 0, pa);
+ SET_NEXT(s->vm_state_codes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmStateCodes argument missing\n");
+ s->vm_state_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmStateCodes[]")) || aret == '=') {
TRY(!aa, "VmStateCodes[] argument missing\n");
SET_NEXT(s->vm_state_codes, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "VmStateNames")) == 0 || aret == '=') {
- TRY(!aa, "VmStateNames argument missing\n");
- s->vm_state_names_str = aa;
+ if ((aret = strcmp(str, "VmStateNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmStateNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmStateNames require an index\n");
+ if (s->vm_state_names) {
+ for (; s->vm_state_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_state_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_state_names, "", pa);
+ SET_NEXT(s->vm_state_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmStateNames argument missing\n");
+ s->vm_state_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmStateNames[]")) || aret == '=') {
TRY(!aa, "VmStateNames[] argument missing\n");
SET_NEXT(s->vm_state_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VmTypes")) == 0 || aret == '=') {
- TRY(!aa, "VmTypes argument missing\n");
- s->vm_types_str = aa;
+ if ((aret = strcmp(str, "VmTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmTypes require an index\n");
+ if (s->vm_types) {
+ for (; s->vm_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_types, "", pa);
+ SET_NEXT(s->vm_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmTypes argument missing\n");
+ s->vm_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmTypes[]")) || aret == '=') {
TRY(!aa, "VmTypes[] argument missing\n");
SET_NEXT(s->vm_types, (aa), pa);
@@ -4229,72 +10571,282 @@ int filters_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int filters_vm_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vm_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetIds")) == 0 || aret == '=') {
- TRY(!aa, "SubnetIds argument missing\n");
- s->subnet_ids_str = aa;
+ if ((aret = strcmp(str, "SubnetIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubnetIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubnetIds require an index\n");
+ if (s->subnet_ids) {
+ for (; s->subnet_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnet_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnet_ids, "", pa);
+ SET_NEXT(s->subnet_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubnetIds argument missing\n");
+ s->subnet_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubnetIds[]")) || aret == '=') {
TRY(!aa, "SubnetIds[] argument missing\n");
SET_NEXT(s->subnet_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VmCounts")) == 0 || aret == '=') {
- TRY(!aa, "VmCounts argument missing\n");
- s->vm_counts_str = aa;
+ if ((aret = strcmp(str, "VmCounts")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmCounts argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmCounts require an index\n");
+ if (s->vm_counts) {
+ for (; s->vm_counts[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_counts[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_counts, 0, pa);
+ SET_NEXT(s->vm_counts, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmCounts argument missing\n");
+ s->vm_counts_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmCounts[]")) || aret == '=') {
TRY(!aa, "VmCounts[] argument missing\n");
SET_NEXT(s->vm_counts, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "VmGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "VmGroupIds argument missing\n");
- s->vm_group_ids_str = aa;
+ if ((aret = strcmp(str, "VmGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmGroupIds require an index\n");
+ if (s->vm_group_ids) {
+ for (; s->vm_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_group_ids, "", pa);
+ SET_NEXT(s->vm_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmGroupIds argument missing\n");
+ s->vm_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmGroupIds[]")) || aret == '=') {
TRY(!aa, "VmGroupIds[] argument missing\n");
SET_NEXT(s->vm_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmGroupNames")) == 0 || aret == '=') {
- TRY(!aa, "VmGroupNames argument missing\n");
- s->vm_group_names_str = aa;
+ if ((aret = strcmp(str, "VmGroupNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmGroupNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmGroupNames require an index\n");
+ if (s->vm_group_names) {
+ for (; s->vm_group_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_group_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_group_names, "", pa);
+ SET_NEXT(s->vm_group_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmGroupNames argument missing\n");
+ s->vm_group_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmGroupNames[]")) || aret == '=') {
TRY(!aa, "VmGroupNames[] argument missing\n");
SET_NEXT(s->vm_group_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VmTemplateIds")) == 0 || aret == '=') {
- TRY(!aa, "VmTemplateIds argument missing\n");
- s->vm_template_ids_str = aa;
+ if ((aret = strcmp(str, "VmTemplateIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmTemplateIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmTemplateIds require an index\n");
+ if (s->vm_template_ids) {
+ for (; s->vm_template_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_template_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_template_ids, "", pa);
+ SET_NEXT(s->vm_template_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmTemplateIds argument missing\n");
+ s->vm_template_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmTemplateIds[]")) || aret == '=') {
TRY(!aa, "VmTemplateIds[] argument missing\n");
SET_NEXT(s->vm_template_ids, (aa), pa);
@@ -4309,86 +10861,338 @@ int filters_vm_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int filters_vm_template_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vm_template *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CpuCores")) == 0 || aret == '=') {
- TRY(!aa, "CpuCores argument missing\n");
- s->cpu_cores_str = aa;
+ if ((aret = strcmp(str, "CpuCores")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CpuCores argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CpuCores require an index\n");
+ if (s->cpu_cores) {
+ for (; s->cpu_cores[last]; ++last);
+ }
+ if (pos < last) {
+ s->cpu_cores[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cpu_cores, 0, pa);
+ SET_NEXT(s->cpu_cores, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "CpuCores argument missing\n");
+ s->cpu_cores_str = aa;
+ }
} else if (!(aret = strcmp(str, "CpuCores[]")) || aret == '=') {
TRY(!aa, "CpuCores[] argument missing\n");
SET_NEXT(s->cpu_cores, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "CpuGenerations")) == 0 || aret == '=') {
- TRY(!aa, "CpuGenerations argument missing\n");
- s->cpu_generations_str = aa;
+ if ((aret = strcmp(str, "CpuGenerations")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CpuGenerations argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CpuGenerations require an index\n");
+ if (s->cpu_generations) {
+ for (; s->cpu_generations[last]; ++last);
+ }
+ if (pos < last) {
+ s->cpu_generations[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cpu_generations, "", pa);
+ SET_NEXT(s->cpu_generations, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CpuGenerations argument missing\n");
+ s->cpu_generations_str = aa;
+ }
} else if (!(aret = strcmp(str, "CpuGenerations[]")) || aret == '=') {
TRY(!aa, "CpuGenerations[] argument missing\n");
SET_NEXT(s->cpu_generations, (aa), pa);
} else
- if ((aret = argcmp(str, "CpuPerformances")) == 0 || aret == '=') {
- TRY(!aa, "CpuPerformances argument missing\n");
- s->cpu_performances_str = aa;
+ if ((aret = strcmp(str, "CpuPerformances")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CpuPerformances argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CpuPerformances require an index\n");
+ if (s->cpu_performances) {
+ for (; s->cpu_performances[last]; ++last);
+ }
+ if (pos < last) {
+ s->cpu_performances[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cpu_performances, "", pa);
+ SET_NEXT(s->cpu_performances, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CpuPerformances argument missing\n");
+ s->cpu_performances_str = aa;
+ }
} else if (!(aret = strcmp(str, "CpuPerformances[]")) || aret == '=') {
TRY(!aa, "CpuPerformances[] argument missing\n");
SET_NEXT(s->cpu_performances, (aa), pa);
} else
- if ((aret = argcmp(str, "Descriptions")) == 0 || aret == '=') {
- TRY(!aa, "Descriptions argument missing\n");
- s->descriptions_str = aa;
+ if ((aret = strcmp(str, "Descriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Descriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Descriptions require an index\n");
+ if (s->descriptions) {
+ for (; s->descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->descriptions, "", pa);
+ SET_NEXT(s->descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Descriptions argument missing\n");
+ s->descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "Descriptions[]")) || aret == '=') {
TRY(!aa, "Descriptions[] argument missing\n");
SET_NEXT(s->descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "ImageIds")) == 0 || aret == '=') {
- TRY(!aa, "ImageIds argument missing\n");
- s->image_ids_str = aa;
+ if ((aret = strcmp(str, "ImageIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ImageIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ImageIds require an index\n");
+ if (s->image_ids) {
+ for (; s->image_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->image_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->image_ids, "", pa);
+ SET_NEXT(s->image_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ImageIds argument missing\n");
+ s->image_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ImageIds[]")) || aret == '=') {
TRY(!aa, "ImageIds[] argument missing\n");
SET_NEXT(s->image_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "KeypairNames")) == 0 || aret == '=') {
- TRY(!aa, "KeypairNames argument missing\n");
- s->keypair_names_str = aa;
+ if ((aret = strcmp(str, "KeypairNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "KeypairNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "KeypairNames require an index\n");
+ if (s->keypair_names) {
+ for (; s->keypair_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->keypair_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->keypair_names, "", pa);
+ SET_NEXT(s->keypair_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "KeypairNames argument missing\n");
+ s->keypair_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "KeypairNames[]")) || aret == '=') {
TRY(!aa, "KeypairNames[] argument missing\n");
SET_NEXT(s->keypair_names, (aa), pa);
} else
- if ((aret = argcmp(str, "Rams")) == 0 || aret == '=') {
- TRY(!aa, "Rams argument missing\n");
- s->rams_str = aa;
+ if ((aret = strcmp(str, "Rams")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Rams argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Rams require an index\n");
+ if (s->rams) {
+ for (; s->rams[last]; ++last);
+ }
+ if (pos < last) {
+ s->rams[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->rams, 0, pa);
+ SET_NEXT(s->rams, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Rams argument missing\n");
+ s->rams_str = aa;
+ }
} else if (!(aret = strcmp(str, "Rams[]")) || aret == '=') {
TRY(!aa, "Rams[] argument missing\n");
SET_NEXT(s->rams, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VmTemplateIds")) == 0 || aret == '=') {
- TRY(!aa, "VmTemplateIds argument missing\n");
- s->vm_template_ids_str = aa;
+ if ((aret = strcmp(str, "VmTemplateIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmTemplateIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmTemplateIds require an index\n");
+ if (s->vm_template_ids) {
+ for (; s->vm_template_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_template_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_template_ids, "", pa);
+ SET_NEXT(s->vm_template_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmTemplateIds argument missing\n");
+ s->vm_template_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmTemplateIds[]")) || aret == '=') {
TRY(!aa, "VmTemplateIds[] argument missing\n");
SET_NEXT(s->vm_template_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmTemplateNames")) == 0 || aret == '=') {
- TRY(!aa, "VmTemplateNames argument missing\n");
- s->vm_template_names_str = aa;
+ if ((aret = strcmp(str, "VmTemplateNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmTemplateNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmTemplateNames require an index\n");
+ if (s->vm_template_names) {
+ for (; s->vm_template_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_template_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_template_names, "", pa);
+ SET_NEXT(s->vm_template_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmTemplateNames argument missing\n");
+ s->vm_template_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmTemplateNames[]")) || aret == '=') {
TRY(!aa, "VmTemplateNames[] argument missing\n");
SET_NEXT(s->vm_template_names, (aa), pa);
@@ -4403,7 +11207,7 @@ int filters_vm_template_parser(void *v_s, char *str, char *aa, struct ptr_array
int filters_vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vm_type *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BsuOptimized")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BsuOptimized")) == 0 || aret == '=' || aret == '.') {
s->is_set_bsu_optimized = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->bsu_optimized = 1;
@@ -4413,58 +11217,226 @@ int filters_vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
BAD_RET("BsuOptimized require true/false\n");
}
} else
- if ((aret = argcmp(str, "EphemeralsTypes")) == 0 || aret == '=') {
- TRY(!aa, "EphemeralsTypes argument missing\n");
- s->ephemerals_types_str = aa;
+ if ((aret = strcmp(str, "EphemeralsTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "EphemeralsTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "EphemeralsTypes require an index\n");
+ if (s->ephemerals_types) {
+ for (; s->ephemerals_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->ephemerals_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ephemerals_types, "", pa);
+ SET_NEXT(s->ephemerals_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "EphemeralsTypes argument missing\n");
+ s->ephemerals_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "EphemeralsTypes[]")) || aret == '=') {
TRY(!aa, "EphemeralsTypes[] argument missing\n");
SET_NEXT(s->ephemerals_types, (aa), pa);
} else
- if ((aret = argcmp(str, "Eths")) == 0 || aret == '=') {
- TRY(!aa, "Eths argument missing\n");
- s->eths_str = aa;
+ if ((aret = strcmp(str, "Eths")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Eths argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Eths require an index\n");
+ if (s->eths) {
+ for (; s->eths[last]; ++last);
+ }
+ if (pos < last) {
+ s->eths[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->eths, 0, pa);
+ SET_NEXT(s->eths, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Eths argument missing\n");
+ s->eths_str = aa;
+ }
} else if (!(aret = strcmp(str, "Eths[]")) || aret == '=') {
TRY(!aa, "Eths[] argument missing\n");
SET_NEXT(s->eths, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "Gpus")) == 0 || aret == '=') {
- TRY(!aa, "Gpus argument missing\n");
- s->gpus_str = aa;
+ if ((aret = strcmp(str, "Gpus")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Gpus argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Gpus require an index\n");
+ if (s->gpus) {
+ for (; s->gpus[last]; ++last);
+ }
+ if (pos < last) {
+ s->gpus[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->gpus, 0, pa);
+ SET_NEXT(s->gpus, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Gpus argument missing\n");
+ s->gpus_str = aa;
+ }
} else if (!(aret = strcmp(str, "Gpus[]")) || aret == '=') {
TRY(!aa, "Gpus[] argument missing\n");
SET_NEXT(s->gpus, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "MemorySizes")) == 0 || aret == '=') {
- TRY(!aa, "MemorySizes argument missing\n");
- s->memory_sizes_str = aa;
+ if ((aret = strcmp(str, "MemorySizes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MemorySizes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MemorySizes require an index\n");
+ if (s->memory_sizes) {
+ for (; s->memory_sizes[last]; ++last);
+ }
+ if (pos < last) {
+ s->memory_sizes[pos] = atof(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->memory_sizes, 0.0, pa);
+ SET_NEXT(s->memory_sizes, atof(aa), pa);
+ }
+ } else {
+ TRY(!aa, "MemorySizes argument missing\n");
+ s->memory_sizes_str = aa;
+ }
} else if (!(aret = strcmp(str, "MemorySizes[]")) || aret == '=') {
TRY(!aa, "MemorySizes[] argument missing\n");
SET_NEXT(s->memory_sizes, atof(aa), pa);
} else
- if ((aret = argcmp(str, "VcoreCounts")) == 0 || aret == '=') {
- TRY(!aa, "VcoreCounts argument missing\n");
- s->vcore_counts_str = aa;
+ if ((aret = strcmp(str, "VcoreCounts")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VcoreCounts argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VcoreCounts require an index\n");
+ if (s->vcore_counts) {
+ for (; s->vcore_counts[last]; ++last);
+ }
+ if (pos < last) {
+ s->vcore_counts[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vcore_counts, 0, pa);
+ SET_NEXT(s->vcore_counts, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VcoreCounts argument missing\n");
+ s->vcore_counts_str = aa;
+ }
} else if (!(aret = strcmp(str, "VcoreCounts[]")) || aret == '=') {
TRY(!aa, "VcoreCounts[] argument missing\n");
SET_NEXT(s->vcore_counts, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "VmTypeNames")) == 0 || aret == '=') {
- TRY(!aa, "VmTypeNames argument missing\n");
- s->vm_type_names_str = aa;
+ if ((aret = strcmp(str, "VmTypeNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmTypeNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmTypeNames require an index\n");
+ if (s->vm_type_names) {
+ for (; s->vm_type_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_type_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_type_names, "", pa);
+ SET_NEXT(s->vm_type_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmTypeNames argument missing\n");
+ s->vm_type_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmTypeNames[]")) || aret == '=') {
TRY(!aa, "VmTypeNames[] argument missing\n");
SET_NEXT(s->vm_type_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VolumeCounts")) == 0 || aret == '=') {
- TRY(!aa, "VolumeCounts argument missing\n");
- s->volume_counts_str = aa;
+ if ((aret = strcmp(str, "VolumeCounts")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeCounts argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeCounts require an index\n");
+ if (s->volume_counts) {
+ for (; s->volume_counts[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_counts[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_counts, 0, pa);
+ SET_NEXT(s->volume_counts, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeCounts argument missing\n");
+ s->volume_counts_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeCounts[]")) || aret == '=') {
TRY(!aa, "VolumeCounts[] argument missing\n");
SET_NEXT(s->volume_counts, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "VolumeSizes")) == 0 || aret == '=') {
- TRY(!aa, "VolumeSizes argument missing\n");
- s->volume_sizes_str = aa;
+ if ((aret = strcmp(str, "VolumeSizes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeSizes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeSizes require an index\n");
+ if (s->volume_sizes) {
+ for (; s->volume_sizes[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_sizes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_sizes, 0, pa);
+ SET_NEXT(s->volume_sizes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeSizes argument missing\n");
+ s->volume_sizes_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeSizes[]")) || aret == '=') {
TRY(!aa, "VolumeSizes[] argument missing\n");
SET_NEXT(s->volume_sizes, atoi(aa), pa);
@@ -4479,51 +11451,198 @@ int filters_vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_vms_state_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vms_state *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "MaintenanceEventCodes")) == 0 || aret == '=') {
- TRY(!aa, "MaintenanceEventCodes argument missing\n");
- s->maintenance_event_codes_str = aa;
+ if ((aret = strcmp(str, "MaintenanceEventCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MaintenanceEventCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MaintenanceEventCodes require an index\n");
+ if (s->maintenance_event_codes) {
+ for (; s->maintenance_event_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->maintenance_event_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->maintenance_event_codes, "", pa);
+ SET_NEXT(s->maintenance_event_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "MaintenanceEventCodes argument missing\n");
+ s->maintenance_event_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "MaintenanceEventCodes[]")) || aret == '=') {
TRY(!aa, "MaintenanceEventCodes[] argument missing\n");
SET_NEXT(s->maintenance_event_codes, (aa), pa);
} else
- if ((aret = argcmp(str, "MaintenanceEventDescriptions")) == 0 || aret == '=') {
- TRY(!aa, "MaintenanceEventDescriptions argument missing\n");
- s->maintenance_event_descriptions_str = aa;
+ if ((aret = strcmp(str, "MaintenanceEventDescriptions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MaintenanceEventDescriptions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MaintenanceEventDescriptions require an index\n");
+ if (s->maintenance_event_descriptions) {
+ for (; s->maintenance_event_descriptions[last]; ++last);
+ }
+ if (pos < last) {
+ s->maintenance_event_descriptions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->maintenance_event_descriptions, "", pa);
+ SET_NEXT(s->maintenance_event_descriptions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "MaintenanceEventDescriptions argument missing\n");
+ s->maintenance_event_descriptions_str = aa;
+ }
} else if (!(aret = strcmp(str, "MaintenanceEventDescriptions[]")) || aret == '=') {
TRY(!aa, "MaintenanceEventDescriptions[] argument missing\n");
SET_NEXT(s->maintenance_event_descriptions, (aa), pa);
} else
- if ((aret = argcmp(str, "MaintenanceEventsNotAfter")) == 0 || aret == '=') {
- TRY(!aa, "MaintenanceEventsNotAfter argument missing\n");
- s->maintenance_events_not_after_str = aa;
+ if ((aret = strcmp(str, "MaintenanceEventsNotAfter")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MaintenanceEventsNotAfter argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MaintenanceEventsNotAfter require an index\n");
+ if (s->maintenance_events_not_after) {
+ for (; s->maintenance_events_not_after[last]; ++last);
+ }
+ if (pos < last) {
+ s->maintenance_events_not_after[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->maintenance_events_not_after, "", pa);
+ SET_NEXT(s->maintenance_events_not_after, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "MaintenanceEventsNotAfter argument missing\n");
+ s->maintenance_events_not_after_str = aa;
+ }
} else if (!(aret = strcmp(str, "MaintenanceEventsNotAfter[]")) || aret == '=') {
TRY(!aa, "MaintenanceEventsNotAfter[] argument missing\n");
SET_NEXT(s->maintenance_events_not_after, (aa), pa);
} else
- if ((aret = argcmp(str, "MaintenanceEventsNotBefore")) == 0 || aret == '=') {
- TRY(!aa, "MaintenanceEventsNotBefore argument missing\n");
- s->maintenance_events_not_before_str = aa;
+ if ((aret = strcmp(str, "MaintenanceEventsNotBefore")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "MaintenanceEventsNotBefore argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "MaintenanceEventsNotBefore require an index\n");
+ if (s->maintenance_events_not_before) {
+ for (; s->maintenance_events_not_before[last]; ++last);
+ }
+ if (pos < last) {
+ s->maintenance_events_not_before[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->maintenance_events_not_before, "", pa);
+ SET_NEXT(s->maintenance_events_not_before, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "MaintenanceEventsNotBefore argument missing\n");
+ s->maintenance_events_not_before_str = aa;
+ }
} else if (!(aret = strcmp(str, "MaintenanceEventsNotBefore[]")) || aret == '=') {
TRY(!aa, "MaintenanceEventsNotBefore[] argument missing\n");
SET_NEXT(s->maintenance_events_not_before, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmStates")) == 0 || aret == '=') {
- TRY(!aa, "VmStates argument missing\n");
- s->vm_states_str = aa;
+ if ((aret = strcmp(str, "VmStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmStates require an index\n");
+ if (s->vm_states) {
+ for (; s->vm_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_states, "", pa);
+ SET_NEXT(s->vm_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmStates argument missing\n");
+ s->vm_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmStates[]")) || aret == '=') {
TRY(!aa, "VmStates[] argument missing\n");
SET_NEXT(s->vm_states, (aa), pa);
@@ -4538,14 +11657,35 @@ int filters_vms_state_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int filters_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_volume *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDates")) == 0 || aret == '=') {
- TRY(!aa, "CreationDates argument missing\n");
- s->creation_dates_str = aa;
+ if ((aret = strcmp(str, "CreationDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CreationDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CreationDates require an index\n");
+ if (s->creation_dates) {
+ for (; s->creation_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->creation_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->creation_dates, "", pa);
+ SET_NEXT(s->creation_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CreationDates argument missing\n");
+ s->creation_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "CreationDates[]")) || aret == '=') {
TRY(!aa, "CreationDates[] argument missing\n");
SET_NEXT(s->creation_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkVolumeDeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkVolumeDeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_link_volume_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->link_volume_delete_on_vm_deletion = 1;
@@ -4555,93 +11695,366 @@ int filters_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
BAD_RET("LinkVolumeDeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkVolumeDeviceNames")) == 0 || aret == '=') {
- TRY(!aa, "LinkVolumeDeviceNames argument missing\n");
- s->link_volume_device_names_str = aa;
+ if ((aret = strcmp(str, "LinkVolumeDeviceNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkVolumeDeviceNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkVolumeDeviceNames require an index\n");
+ if (s->link_volume_device_names) {
+ for (; s->link_volume_device_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_volume_device_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_volume_device_names, "", pa);
+ SET_NEXT(s->link_volume_device_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkVolumeDeviceNames argument missing\n");
+ s->link_volume_device_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkVolumeDeviceNames[]")) || aret == '=') {
TRY(!aa, "LinkVolumeDeviceNames[] argument missing\n");
SET_NEXT(s->link_volume_device_names, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkVolumeLinkDates")) == 0 || aret == '=') {
- TRY(!aa, "LinkVolumeLinkDates argument missing\n");
- s->link_volume_link_dates_str = aa;
+ if ((aret = strcmp(str, "LinkVolumeLinkDates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkVolumeLinkDates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkVolumeLinkDates require an index\n");
+ if (s->link_volume_link_dates) {
+ for (; s->link_volume_link_dates[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_volume_link_dates[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_volume_link_dates, "", pa);
+ SET_NEXT(s->link_volume_link_dates, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkVolumeLinkDates argument missing\n");
+ s->link_volume_link_dates_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkVolumeLinkDates[]")) || aret == '=') {
TRY(!aa, "LinkVolumeLinkDates[] argument missing\n");
SET_NEXT(s->link_volume_link_dates, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkVolumeLinkStates")) == 0 || aret == '=') {
- TRY(!aa, "LinkVolumeLinkStates argument missing\n");
- s->link_volume_link_states_str = aa;
+ if ((aret = strcmp(str, "LinkVolumeLinkStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkVolumeLinkStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkVolumeLinkStates require an index\n");
+ if (s->link_volume_link_states) {
+ for (; s->link_volume_link_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_volume_link_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_volume_link_states, "", pa);
+ SET_NEXT(s->link_volume_link_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkVolumeLinkStates argument missing\n");
+ s->link_volume_link_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkVolumeLinkStates[]")) || aret == '=') {
TRY(!aa, "LinkVolumeLinkStates[] argument missing\n");
SET_NEXT(s->link_volume_link_states, (aa), pa);
} else
- if ((aret = argcmp(str, "LinkVolumeVmIds")) == 0 || aret == '=') {
- TRY(!aa, "LinkVolumeVmIds argument missing\n");
- s->link_volume_vm_ids_str = aa;
+ if ((aret = strcmp(str, "LinkVolumeVmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LinkVolumeVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LinkVolumeVmIds require an index\n");
+ if (s->link_volume_vm_ids) {
+ for (; s->link_volume_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->link_volume_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->link_volume_vm_ids, "", pa);
+ SET_NEXT(s->link_volume_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LinkVolumeVmIds argument missing\n");
+ s->link_volume_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "LinkVolumeVmIds[]")) || aret == '=') {
TRY(!aa, "LinkVolumeVmIds[] argument missing\n");
SET_NEXT(s->link_volume_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SnapshotIds")) == 0 || aret == '=') {
- TRY(!aa, "SnapshotIds argument missing\n");
- s->snapshot_ids_str = aa;
+ if ((aret = strcmp(str, "SnapshotIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SnapshotIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SnapshotIds require an index\n");
+ if (s->snapshot_ids) {
+ for (; s->snapshot_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->snapshot_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->snapshot_ids, "", pa);
+ SET_NEXT(s->snapshot_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SnapshotIds argument missing\n");
+ s->snapshot_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SnapshotIds[]")) || aret == '=') {
TRY(!aa, "SnapshotIds[] argument missing\n");
SET_NEXT(s->snapshot_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VolumeIds")) == 0 || aret == '=') {
- TRY(!aa, "VolumeIds argument missing\n");
- s->volume_ids_str = aa;
+ if ((aret = strcmp(str, "VolumeIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeIds require an index\n");
+ if (s->volume_ids) {
+ for (; s->volume_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_ids, "", pa);
+ SET_NEXT(s->volume_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeIds argument missing\n");
+ s->volume_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeIds[]")) || aret == '=') {
TRY(!aa, "VolumeIds[] argument missing\n");
SET_NEXT(s->volume_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VolumeSizes")) == 0 || aret == '=') {
- TRY(!aa, "VolumeSizes argument missing\n");
- s->volume_sizes_str = aa;
+ if ((aret = strcmp(str, "VolumeSizes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeSizes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeSizes require an index\n");
+ if (s->volume_sizes) {
+ for (; s->volume_sizes[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_sizes[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_sizes, 0, pa);
+ SET_NEXT(s->volume_sizes, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeSizes argument missing\n");
+ s->volume_sizes_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeSizes[]")) || aret == '=') {
TRY(!aa, "VolumeSizes[] argument missing\n");
SET_NEXT(s->volume_sizes, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "VolumeStates")) == 0 || aret == '=') {
- TRY(!aa, "VolumeStates argument missing\n");
- s->volume_states_str = aa;
+ if ((aret = strcmp(str, "VolumeStates")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeStates argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeStates require an index\n");
+ if (s->volume_states) {
+ for (; s->volume_states[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_states, "", pa);
+ SET_NEXT(s->volume_states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeStates argument missing\n");
+ s->volume_states_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeStates[]")) || aret == '=') {
TRY(!aa, "VolumeStates[] argument missing\n");
SET_NEXT(s->volume_states, (aa), pa);
} else
- if ((aret = argcmp(str, "VolumeTypes")) == 0 || aret == '=') {
- TRY(!aa, "VolumeTypes argument missing\n");
- s->volume_types_str = aa;
+ if ((aret = strcmp(str, "VolumeTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VolumeTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VolumeTypes require an index\n");
+ if (s->volume_types) {
+ for (; s->volume_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->volume_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->volume_types, "", pa);
+ SET_NEXT(s->volume_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VolumeTypes argument missing\n");
+ s->volume_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "VolumeTypes[]")) || aret == '=') {
TRY(!aa, "VolumeTypes[] argument missing\n");
SET_NEXT(s->volume_types, (aa), pa);
@@ -4656,42 +12069,147 @@ int filters_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int filters_vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct filters_vpn_connection *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BgpAsns")) == 0 || aret == '=') {
- TRY(!aa, "BgpAsns argument missing\n");
- s->bgp_asns_str = aa;
+ if ((aret = strcmp(str, "BgpAsns")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BgpAsns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BgpAsns require an index\n");
+ if (s->bgp_asns) {
+ for (; s->bgp_asns[last]; ++last);
+ }
+ if (pos < last) {
+ s->bgp_asns[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->bgp_asns, 0, pa);
+ SET_NEXT(s->bgp_asns, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "BgpAsns argument missing\n");
+ s->bgp_asns_str = aa;
+ }
} else if (!(aret = strcmp(str, "BgpAsns[]")) || aret == '=') {
TRY(!aa, "BgpAsns[] argument missing\n");
SET_NEXT(s->bgp_asns, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "ClientGatewayIds")) == 0 || aret == '=') {
- TRY(!aa, "ClientGatewayIds argument missing\n");
- s->client_gateway_ids_str = aa;
+ if ((aret = strcmp(str, "ClientGatewayIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ClientGatewayIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ClientGatewayIds require an index\n");
+ if (s->client_gateway_ids) {
+ for (; s->client_gateway_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->client_gateway_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->client_gateway_ids, "", pa);
+ SET_NEXT(s->client_gateway_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ClientGatewayIds argument missing\n");
+ s->client_gateway_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ClientGatewayIds[]")) || aret == '=') {
TRY(!aa, "ClientGatewayIds[] argument missing\n");
SET_NEXT(s->client_gateway_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ConnectionTypes")) == 0 || aret == '=') {
- TRY(!aa, "ConnectionTypes argument missing\n");
- s->connection_types_str = aa;
+ if ((aret = strcmp(str, "ConnectionTypes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ConnectionTypes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ConnectionTypes require an index\n");
+ if (s->connection_types) {
+ for (; s->connection_types[last]; ++last);
+ }
+ if (pos < last) {
+ s->connection_types[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->connection_types, "", pa);
+ SET_NEXT(s->connection_types, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ConnectionTypes argument missing\n");
+ s->connection_types_str = aa;
+ }
} else if (!(aret = strcmp(str, "ConnectionTypes[]")) || aret == '=') {
TRY(!aa, "ConnectionTypes[] argument missing\n");
SET_NEXT(s->connection_types, (aa), pa);
} else
- if ((aret = argcmp(str, "RouteDestinationIpRanges")) == 0 || aret == '=') {
- TRY(!aa, "RouteDestinationIpRanges argument missing\n");
- s->route_destination_ip_ranges_str = aa;
+ if ((aret = strcmp(str, "RouteDestinationIpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteDestinationIpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteDestinationIpRanges require an index\n");
+ if (s->route_destination_ip_ranges) {
+ for (; s->route_destination_ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_destination_ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_destination_ip_ranges, "", pa);
+ SET_NEXT(s->route_destination_ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteDestinationIpRanges argument missing\n");
+ s->route_destination_ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteDestinationIpRanges[]")) || aret == '=') {
TRY(!aa, "RouteDestinationIpRanges[] argument missing\n");
SET_NEXT(s->route_destination_ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "States")) == 0 || aret == '=') {
- TRY(!aa, "States argument missing\n");
- s->states_str = aa;
+ if ((aret = strcmp(str, "States")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "States argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "States require an index\n");
+ if (s->states) {
+ for (; s->states[last]; ++last);
+ }
+ if (pos < last) {
+ s->states[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->states, "", pa);
+ SET_NEXT(s->states, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "States argument missing\n");
+ s->states_str = aa;
+ }
} else if (!(aret = strcmp(str, "States[]")) || aret == '=') {
TRY(!aa, "States[] argument missing\n");
SET_NEXT(s->states, (aa), pa);
} else
- if ((aret = argcmp(str, "StaticRoutesOnly")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StaticRoutesOnly")) == 0 || aret == '=' || aret == '.') {
s->is_set_static_routes_only = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->static_routes_only = 1;
@@ -4701,37 +12219,142 @@ int filters_vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_arr
BAD_RET("StaticRoutesOnly require true/false\n");
}
} else
- if ((aret = argcmp(str, "TagKeys")) == 0 || aret == '=') {
- TRY(!aa, "TagKeys argument missing\n");
- s->tag_keys_str = aa;
+ if ((aret = strcmp(str, "TagKeys")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagKeys argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagKeys require an index\n");
+ if (s->tag_keys) {
+ for (; s->tag_keys[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_keys[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_keys, "", pa);
+ SET_NEXT(s->tag_keys, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagKeys argument missing\n");
+ s->tag_keys_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagKeys[]")) || aret == '=') {
TRY(!aa, "TagKeys[] argument missing\n");
SET_NEXT(s->tag_keys, (aa), pa);
} else
- if ((aret = argcmp(str, "TagValues")) == 0 || aret == '=') {
- TRY(!aa, "TagValues argument missing\n");
- s->tag_values_str = aa;
+ if ((aret = strcmp(str, "TagValues")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "TagValues argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "TagValues require an index\n");
+ if (s->tag_values) {
+ for (; s->tag_values[last]; ++last);
+ }
+ if (pos < last) {
+ s->tag_values[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tag_values, "", pa);
+ SET_NEXT(s->tag_values, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "TagValues argument missing\n");
+ s->tag_values_str = aa;
+ }
} else if (!(aret = strcmp(str, "TagValues[]")) || aret == '=') {
TRY(!aa, "TagValues[] argument missing\n");
SET_NEXT(s->tag_values, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
- TRY(!aa, "Tags argument missing\n");
- s->tags_str = aa;
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Tags argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Tags require an index\n");
+ if (s->tags) {
+ for (; s->tags[last]; ++last);
+ }
+ if (pos < last) {
+ s->tags[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->tags, "", pa);
+ SET_NEXT(s->tags, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Tags argument missing\n");
+ s->tags_str = aa;
+ }
} else if (!(aret = strcmp(str, "Tags[]")) || aret == '=') {
TRY(!aa, "Tags[] argument missing\n");
SET_NEXT(s->tags, (aa), pa);
} else
- if ((aret = argcmp(str, "VirtualGatewayIds")) == 0 || aret == '=') {
- TRY(!aa, "VirtualGatewayIds argument missing\n");
- s->virtual_gateway_ids_str = aa;
+ if ((aret = strcmp(str, "VirtualGatewayIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VirtualGatewayIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VirtualGatewayIds require an index\n");
+ if (s->virtual_gateway_ids) {
+ for (; s->virtual_gateway_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->virtual_gateway_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->virtual_gateway_ids, "", pa);
+ SET_NEXT(s->virtual_gateway_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VirtualGatewayIds argument missing\n");
+ s->virtual_gateway_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VirtualGatewayIds[]")) || aret == '=') {
TRY(!aa, "VirtualGatewayIds[] argument missing\n");
SET_NEXT(s->virtual_gateway_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VpnConnectionIds")) == 0 || aret == '=') {
- TRY(!aa, "VpnConnectionIds argument missing\n");
- s->vpn_connection_ids_str = aa;
+ if ((aret = strcmp(str, "VpnConnectionIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VpnConnectionIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VpnConnectionIds require an index\n");
+ if (s->vpn_connection_ids) {
+ for (; s->vpn_connection_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vpn_connection_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vpn_connection_ids, "", pa);
+ SET_NEXT(s->vpn_connection_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VpnConnectionIds argument missing\n");
+ s->vpn_connection_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VpnConnectionIds[]")) || aret == '=') {
TRY(!aa, "VpnConnectionIds[] argument missing\n");
SET_NEXT(s->vpn_connection_ids, (aa), pa);
@@ -4746,7 +12369,7 @@ int filters_vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_arr
int flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct flexible_gpu *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -4756,32 +12379,32 @@ int flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "FlexibleGpuId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FlexibleGpuId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FlexibleGpuId argument missing\n");
s->flexible_gpu_id = aa; // string string
} else
- if ((aret = argcmp(str, "Generation")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Generation")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Generation argument missing\n");
s->generation = aa; // string string
} else
- if ((aret = argcmp(str, "ModelName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ModelName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ModelName argument missing\n");
s->model_name = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -4796,29 +12419,50 @@ int flexible_gpu_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int flexible_gpu_catalog_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct flexible_gpu_catalog *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Generations")) == 0 || aret == '=') {
- TRY(!aa, "Generations argument missing\n");
- s->generations_str = aa;
+ if ((aret = strcmp(str, "Generations")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Generations argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Generations require an index\n");
+ if (s->generations) {
+ for (; s->generations[last]; ++last);
+ }
+ if (pos < last) {
+ s->generations[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->generations, "", pa);
+ SET_NEXT(s->generations, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Generations argument missing\n");
+ s->generations_str = aa;
+ }
} else if (!(aret = strcmp(str, "Generations[]")) || aret == '=') {
TRY(!aa, "Generations[] argument missing\n");
SET_NEXT(s->generations, (aa), pa);
} else
- if ((aret = argcmp(str, "MaxCpu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaxCpu")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MaxCpu argument missing\n");
s->is_set_max_cpu = 1;
s->max_cpu = atoi(aa);
} else
- if ((aret = argcmp(str, "MaxRam")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaxRam")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MaxRam argument missing\n");
s->is_set_max_ram = 1;
s->max_ram = atoi(aa);
} else
- if ((aret = argcmp(str, "ModelName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ModelName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ModelName argument missing\n");
s->model_name = aa; // string string
} else
- if ((aret = argcmp(str, "VRam")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VRam")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VRam argument missing\n");
s->is_set_vram = 1;
s->vram = atoi(aa);
@@ -4833,37 +12477,37 @@ int flexible_gpu_catalog_parser(void *v_s, char *str, char *aa, struct ptr_array
int health_check_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct health_check *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CheckInterval")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CheckInterval")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CheckInterval argument missing\n");
s->is_set_check_interval = 1;
s->check_interval = atoi(aa);
} else
- if ((aret = argcmp(str, "HealthyThreshold")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "HealthyThreshold")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "HealthyThreshold argument missing\n");
s->is_set_healthy_threshold = 1;
s->healthy_threshold = atoi(aa);
} else
- if ((aret = argcmp(str, "Path")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Path")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Path argument missing\n");
s->path = aa; // string string
} else
- if ((aret = argcmp(str, "Port")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Port")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Port argument missing\n");
s->is_set_port = 1;
s->port = atoi(aa);
} else
- if ((aret = argcmp(str, "Protocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Protocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Protocol argument missing\n");
s->protocol = aa; // string string
} else
- if ((aret = argcmp(str, "Timeout")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Timeout")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Timeout argument missing\n");
s->is_set_timeout = 1;
s->timeout = atoi(aa);
} else
- if ((aret = argcmp(str, "UnhealthyThreshold")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UnhealthyThreshold")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UnhealthyThreshold argument missing\n");
s->is_set_unhealthy_threshold = 1;
s->unhealthy_threshold = atoi(aa);
@@ -4878,22 +12522,22 @@ int health_check_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct image *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountAlias")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountAlias")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountAlias argument missing\n");
s->account_alias = aa; // string string
} else
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Architecture")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Architecture")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Architecture argument missing\n");
s->architecture = aa; // string string
} else
- if ((aret = argcmp(str, "BlockDeviceMappings")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BlockDeviceMappings")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -4918,37 +12562,37 @@ int image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->block_device_mappings_str = aa; // array ref BlockDeviceMappingImage ref
}
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "FileLocation")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FileLocation")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FileLocation argument missing\n");
s->file_location = aa; // string string
} else
- if ((aret = argcmp(str, "ImageId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageId argument missing\n");
s->image_id = aa; // string string
} else
- if ((aret = argcmp(str, "ImageName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageName argument missing\n");
s->image_name = aa; // string string
} else
- if ((aret = argcmp(str, "ImageType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageType argument missing\n");
s->image_type = aa; // string string
} else
- if ((aret = argcmp(str, "PermissionsToLaunch")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PermissionsToLaunch")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "PermissionsToLaunch argument missing\n");
@@ -4965,29 +12609,50 @@ int image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->permissions_to_launch_str = aa;
}
} else
- if ((aret = argcmp(str, "ProductCodes")) == 0 || aret == '=') {
- TRY(!aa, "ProductCodes argument missing\n");
- s->product_codes_str = aa;
+ if ((aret = strcmp(str, "ProductCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodes require an index\n");
+ if (s->product_codes) {
+ for (; s->product_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_codes, "", pa);
+ SET_NEXT(s->product_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodes argument missing\n");
+ s->product_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodes[]")) || aret == '=') {
TRY(!aa, "ProductCodes[] argument missing\n");
SET_NEXT(s->product_codes, (aa), pa);
} else
- if ((aret = argcmp(str, "RootDeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RootDeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RootDeviceName argument missing\n");
s->root_device_name = aa; // string string
} else
- if ((aret = argcmp(str, "RootDeviceType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RootDeviceType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RootDeviceType argument missing\n");
s->root_device_type = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "StateComment")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateComment")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "StateComment argument missing\n");
@@ -5004,7 +12669,7 @@ int image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->state_comment_str = aa;
}
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5039,17 +12704,17 @@ int image_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int image_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct image_export_task *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Comment")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Comment")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Comment argument missing\n");
s->comment = aa; // string string
} else
- if ((aret = argcmp(str, "ImageId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageId argument missing\n");
s->image_id = aa; // string string
} else
- if ((aret = argcmp(str, "OsuExport")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuExport")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "OsuExport argument missing\n");
@@ -5066,17 +12731,17 @@ int image_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *p
s->osu_export_str = aa;
}
} else
- if ((aret = argcmp(str, "Progress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Progress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Progress argument missing\n");
s->is_set_progress = 1;
s->progress = atoi(aa);
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5101,7 +12766,7 @@ int image_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *p
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "TaskId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "TaskId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "TaskId argument missing\n");
s->task_id = aa; // string string
@@ -5116,12 +12781,12 @@ int image_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int inline_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct inline_policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Body")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Body")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Body argument missing\n");
s->body = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
@@ -5136,22 +12801,22 @@ int inline_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int internet_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct internet_service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "InternetServiceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "InternetServiceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "InternetServiceId argument missing\n");
s->internet_service_id = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5186,17 +12851,17 @@ int internet_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int keypair_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct keypair *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "KeypairFingerprint")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairFingerprint")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairFingerprint argument missing\n");
s->keypair_fingerprint = aa; // string string
} else
- if ((aret = argcmp(str, "KeypairName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairName argument missing\n");
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(str, "KeypairType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairType argument missing\n");
s->keypair_type = aa; // string string
@@ -5211,22 +12876,22 @@ int keypair_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int keypair_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct keypair_created *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "KeypairFingerprint")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairFingerprint")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairFingerprint argument missing\n");
s->keypair_fingerprint = aa; // string string
} else
- if ((aret = argcmp(str, "KeypairName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairName argument missing\n");
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(str, "KeypairType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairType argument missing\n");
s->keypair_type = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateKey argument missing\n");
s->private_key = aa; // string string
@@ -5241,7 +12906,7 @@ int keypair_created_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int link_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_nic *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -5251,27 +12916,27 @@ int link_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "DeviceNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceNumber argument missing\n");
s->is_set_device_number = 1;
s->device_number = atoi(aa);
} else
- if ((aret = argcmp(str, "LinkNicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkNicId argument missing\n");
s->link_nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "VmAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmAccountId argument missing\n");
s->vm_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -5286,7 +12951,7 @@ int link_nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int link_nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_nic_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -5296,17 +12961,17 @@ int link_nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "DeviceNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceNumber argument missing\n");
s->is_set_device_number = 1;
s->device_number = atoi(aa);
} else
- if ((aret = argcmp(str, "LinkNicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkNicId argument missing\n");
s->link_nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -5321,7 +12986,7 @@ int link_nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int link_nic_to_update_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_nic_to_update *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -5331,7 +12996,7 @@ int link_nic_to_update_parser(void *v_s, char *str, char *aa, struct ptr_array *
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkNicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkNicId argument missing\n");
s->link_nic_id = aa; // string string
@@ -5346,27 +13011,27 @@ int link_nic_to_update_parser(void *v_s, char *str, char *aa, struct ptr_array *
int link_public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_public_ip *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkPublicIpId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIpId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkPublicIpId argument missing\n");
s->link_public_ip_id = aa; // string string
} else
- if ((aret = argcmp(str, "PublicDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicDnsName argument missing\n");
s->public_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIpAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIpAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIpAccountId argument missing\n");
s->public_ip_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIpId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIpId argument missing\n");
s->public_ip_id = aa; // string string
@@ -5381,17 +13046,17 @@ int link_public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int link_public_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_public_ip_light_for_vm *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "PublicDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicDnsName argument missing\n");
s->public_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIpAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIpAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIpAccountId argument missing\n");
s->public_ip_account_id = aa; // string string
@@ -5406,12 +13071,12 @@ int link_public_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct pt
int link_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct link_route_table *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkRouteTableId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkRouteTableId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkRouteTableId argument missing\n");
s->link_route_table_id = aa; // string string
} else
- if ((aret = argcmp(str, "Main")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Main")) == 0 || aret == '=' || aret == '.') {
s->is_set_main = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->main = 1;
@@ -5421,17 +13086,17 @@ int link_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("Main require true/false\n");
}
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "RouteTableId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RouteTableId argument missing\n");
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
@@ -5446,27 +13111,27 @@ int link_route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int linked_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct linked_policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "Orn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Orn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Orn argument missing\n");
s->orn = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyId argument missing\n");
s->policy_id = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyName argument missing\n");
s->policy_name = aa; // string string
@@ -5481,7 +13146,7 @@ int linked_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int linked_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct linked_volume *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -5491,22 +13156,22 @@ int linked_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "DeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceName argument missing\n");
s->device_name = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeId argument missing\n");
s->volume_id = aa; // string string
@@ -5521,34 +13186,55 @@ int linked_volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int listener_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct listener *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BackendPort")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BackendPort")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BackendPort argument missing\n");
s->is_set_backend_port = 1;
s->backend_port = atoi(aa);
} else
- if ((aret = argcmp(str, "BackendProtocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BackendProtocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BackendProtocol argument missing\n");
s->backend_protocol = aa; // string string
} else
- if ((aret = argcmp(str, "LoadBalancerPort")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerPort")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerPort argument missing\n");
s->is_set_load_balancer_port = 1;
s->load_balancer_port = atoi(aa);
} else
- if ((aret = argcmp(str, "LoadBalancerProtocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerProtocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerProtocol argument missing\n");
s->load_balancer_protocol = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyNames")) == 0 || aret == '=') {
- TRY(!aa, "PolicyNames argument missing\n");
- s->policy_names_str = aa;
+ if ((aret = strcmp(str, "PolicyNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PolicyNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PolicyNames require an index\n");
+ if (s->policy_names) {
+ for (; s->policy_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->policy_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->policy_names, "", pa);
+ SET_NEXT(s->policy_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PolicyNames argument missing\n");
+ s->policy_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "PolicyNames[]")) || aret == '=') {
TRY(!aa, "PolicyNames[] argument missing\n");
SET_NEXT(s->policy_names, (aa), pa);
} else
- if ((aret = argcmp(str, "ServerCertificateId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ServerCertificateId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ServerCertificateId argument missing\n");
s->server_certificate_id = aa; // string string
@@ -5563,27 +13249,27 @@ int listener_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int listener_for_creation_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct listener_for_creation *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BackendPort")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BackendPort")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BackendPort argument missing\n");
s->is_set_backend_port = 1;
s->backend_port = atoi(aa);
} else
- if ((aret = argcmp(str, "BackendProtocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BackendProtocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "BackendProtocol argument missing\n");
s->backend_protocol = aa; // string string
} else
- if ((aret = argcmp(str, "LoadBalancerPort")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerPort")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerPort argument missing\n");
s->is_set_load_balancer_port = 1;
s->load_balancer_port = atoi(aa);
} else
- if ((aret = argcmp(str, "LoadBalancerProtocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerProtocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerProtocol argument missing\n");
s->load_balancer_protocol = aa; // string string
} else
- if ((aret = argcmp(str, "ServerCertificateId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ServerCertificateId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ServerCertificateId argument missing\n");
s->server_certificate_id = aa; // string string
@@ -5598,44 +13284,65 @@ int listener_for_creation_parser(void *v_s, char *str, char *aa, struct ptr_arra
int listener_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct listener_rule *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Action")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Action")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Action argument missing\n");
s->action = aa; // string string
} else
- if ((aret = argcmp(str, "HostNamePattern")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "HostNamePattern")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "HostNamePattern argument missing\n");
s->host_name_pattern = aa; // string string
} else
- if ((aret = argcmp(str, "ListenerId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ListenerId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ListenerId argument missing\n");
s->is_set_listener_id = 1;
s->listener_id = atoi(aa);
} else
- if ((aret = argcmp(str, "ListenerRuleId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ListenerRuleId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ListenerRuleId argument missing\n");
s->is_set_listener_rule_id = 1;
s->listener_rule_id = atoi(aa);
} else
- if ((aret = argcmp(str, "ListenerRuleName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ListenerRuleName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ListenerRuleName argument missing\n");
s->listener_rule_name = aa; // string string
} else
- if ((aret = argcmp(str, "PathPattern")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PathPattern")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PathPattern argument missing\n");
s->path_pattern = aa; // string string
} else
- if ((aret = argcmp(str, "Priority")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Priority")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Priority argument missing\n");
s->is_set_priority = 1;
s->priority = atoi(aa);
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -5650,27 +13357,27 @@ int listener_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int listener_rule_for_creation_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct listener_rule_for_creation *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Action")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Action")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Action argument missing\n");
s->action = aa; // string string
} else
- if ((aret = argcmp(str, "HostNamePattern")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "HostNamePattern")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "HostNamePattern argument missing\n");
s->host_name_pattern = aa; // string string
} else
- if ((aret = argcmp(str, "ListenerRuleName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ListenerRuleName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ListenerRuleName argument missing\n");
s->listener_rule_name = aa; // string string
} else
- if ((aret = argcmp(str, "PathPattern")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PathPattern")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PathPattern argument missing\n");
s->path_pattern = aa; // string string
} else
- if ((aret = argcmp(str, "Priority")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Priority")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Priority argument missing\n");
s->is_set_priority = 1;
s->priority = atoi(aa);
@@ -5685,7 +13392,7 @@ int listener_rule_for_creation_parser(void *v_s, char *str, char *aa, struct ptr
int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct load_balancer *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccessLog")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccessLog")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "AccessLog argument missing\n");
@@ -5702,7 +13409,7 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->access_log_str = aa;
}
} else
- if ((aret = argcmp(str, "ApplicationStickyCookiePolicies")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ApplicationStickyCookiePolicies")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5727,26 +13434,68 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->application_sticky_cookie_policies_str = aa; // array ref ApplicationStickyCookiePolicy ref
}
} else
- if ((aret = argcmp(str, "BackendIps")) == 0 || aret == '=') {
- TRY(!aa, "BackendIps argument missing\n");
- s->backend_ips_str = aa;
+ if ((aret = strcmp(str, "BackendIps")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendIps require an index\n");
+ if (s->backend_ips) {
+ for (; s->backend_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_ips, "", pa);
+ SET_NEXT(s->backend_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendIps argument missing\n");
+ s->backend_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendIps[]")) || aret == '=') {
TRY(!aa, "BackendIps[] argument missing\n");
SET_NEXT(s->backend_ips, (aa), pa);
} else
- if ((aret = argcmp(str, "BackendVmIds")) == 0 || aret == '=') {
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if ((aret = strcmp(str, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "DnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DnsName argument missing\n");
s->dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "HealthCheck")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "HealthCheck")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "HealthCheck argument missing\n");
@@ -5763,7 +13512,7 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->health_check_str = aa;
}
} else
- if ((aret = argcmp(str, "Listeners")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Listeners")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5788,12 +13537,12 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->listeners_str = aa; // array ref Listener ref
}
} else
- if ((aret = argcmp(str, "LoadBalancerName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerName argument missing\n");
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(str, "LoadBalancerStickyCookiePolicies")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerStickyCookiePolicies")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5818,22 +13567,22 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->load_balancer_sticky_cookie_policies_str = aa; // array ref LoadBalancerStickyCookiePolicy ref
}
} else
- if ((aret = argcmp(str, "LoadBalancerType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerType argument missing\n");
s->load_balancer_type = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "SecuredCookies")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecuredCookies")) == 0 || aret == '=' || aret == '.') {
s->is_set_secured_cookies = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->secured_cookies = 1;
@@ -5843,14 +13592,35 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("SecuredCookies require true/false\n");
}
} else
- if ((aret = argcmp(str, "SecurityGroups")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroups argument missing\n");
- s->security_groups_str = aa;
+ if ((aret = strcmp(str, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroups argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroups require an index\n");
+ if (s->security_groups) {
+ for (; s->security_groups[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_groups[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_groups, "", pa);
+ SET_NEXT(s->security_groups, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroups argument missing\n");
+ s->security_groups_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroups[]")) || aret == '=') {
TRY(!aa, "SecurityGroups[] argument missing\n");
SET_NEXT(s->security_groups, (aa), pa);
} else
- if ((aret = argcmp(str, "SourceSecurityGroup")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SourceSecurityGroup")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "SourceSecurityGroup argument missing\n");
@@ -5867,21 +13637,63 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->source_security_group_str = aa;
}
} else
- if ((aret = argcmp(str, "Subnets")) == 0 || aret == '=') {
- TRY(!aa, "Subnets argument missing\n");
- s->subnets_str = aa;
+ if ((aret = strcmp(str, "Subnets")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Subnets argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Subnets require an index\n");
+ if (s->subnets) {
+ for (; s->subnets[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnets[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnets, "", pa);
+ SET_NEXT(s->subnets, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Subnets argument missing\n");
+ s->subnets_str = aa;
+ }
} else if (!(aret = strcmp(str, "Subnets[]")) || aret == '=') {
TRY(!aa, "Subnets[] argument missing\n");
SET_NEXT(s->subnets, (aa), pa);
} else
- if ((aret = argcmp(str, "SubregionNames")) == 0 || aret == '=') {
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if ((aret = strcmp(str, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -5916,12 +13728,12 @@ int load_balancer_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int load_balancer_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct load_balancer_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LoadBalancerName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerName argument missing\n");
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(str, "LoadBalancerPort")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerPort")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerPort argument missing\n");
s->is_set_load_balancer_port = 1;
s->load_balancer_port = atoi(aa);
@@ -5936,12 +13748,12 @@ int load_balancer_light_parser(void *v_s, char *str, char *aa, struct ptr_array
int load_balancer_sticky_cookie_policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct load_balancer_sticky_cookie_policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CookieExpirationPeriod")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CookieExpirationPeriod")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CookieExpirationPeriod argument missing\n");
s->is_set_cookie_expiration_period = 1;
s->cookie_expiration_period = atoi(aa);
} else
- if ((aret = argcmp(str, "PolicyName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyName argument missing\n");
s->policy_name = aa; // string string
@@ -5956,17 +13768,17 @@ int load_balancer_sticky_cookie_policy_parser(void *v_s, char *str, char *aa, st
int load_balancer_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct load_balancer_tag *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Key")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Key")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Key argument missing\n");
s->key = aa; // string string
} else
- if ((aret = argcmp(str, "LoadBalancerName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LoadBalancerName argument missing\n");
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(str, "Value")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Value")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Value argument missing\n");
s->value = aa; // string string
@@ -5981,12 +13793,12 @@ int load_balancer_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int location_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct location *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Code")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Code")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Code argument missing\n");
s->code = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
@@ -6001,82 +13813,82 @@ int location_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct log *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "CallDuration")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CallDuration")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CallDuration argument missing\n");
s->is_set_call_duration = 1;
s->call_duration = atoi(aa);
} else
- if ((aret = argcmp(str, "QueryAccessKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryAccessKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryAccessKey argument missing\n");
s->query_access_key = aa; // string string
} else
- if ((aret = argcmp(str, "QueryApiName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryApiName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryApiName argument missing\n");
s->query_api_name = aa; // string string
} else
- if ((aret = argcmp(str, "QueryApiVersion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryApiVersion")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryApiVersion argument missing\n");
s->query_api_version = aa; // string string
} else
- if ((aret = argcmp(str, "QueryCallName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryCallName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryCallName argument missing\n");
s->query_call_name = aa; // string string
} else
- if ((aret = argcmp(str, "QueryDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryDate argument missing\n");
s->query_date = aa; // string string
} else
- if ((aret = argcmp(str, "QueryHeaderRaw")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryHeaderRaw")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryHeaderRaw argument missing\n");
s->query_header_raw = aa; // string string
} else
- if ((aret = argcmp(str, "QueryHeaderSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryHeaderSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryHeaderSize argument missing\n");
s->is_set_query_header_size = 1;
s->query_header_size = atoi(aa);
} else
- if ((aret = argcmp(str, "QueryIpAddress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryIpAddress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryIpAddress argument missing\n");
s->query_ip_address = aa; // string string
} else
- if ((aret = argcmp(str, "QueryPayloadRaw")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryPayloadRaw")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryPayloadRaw argument missing\n");
s->query_payload_raw = aa; // string string
} else
- if ((aret = argcmp(str, "QueryPayloadSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryPayloadSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryPayloadSize argument missing\n");
s->is_set_query_payload_size = 1;
s->query_payload_size = atoi(aa);
} else
- if ((aret = argcmp(str, "QueryUserAgent")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryUserAgent")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QueryUserAgent argument missing\n");
s->query_user_agent = aa; // string string
} else
- if ((aret = argcmp(str, "RequestId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RequestId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RequestId argument missing\n");
s->request_id = aa; // string string
} else
- if ((aret = argcmp(str, "ResponseSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResponseSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ResponseSize argument missing\n");
s->is_set_response_size = 1;
s->response_size = atoi(aa);
} else
- if ((aret = argcmp(str, "ResponseStatusCode")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResponseStatusCode")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ResponseStatusCode argument missing\n");
s->is_set_response_status_code = 1;
s->response_status_code = atoi(aa);
@@ -6091,22 +13903,22 @@ int log_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int maintenance_event_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct maintenance_event *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Code")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Code")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Code argument missing\n");
s->code = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "NotAfter")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NotAfter")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NotAfter argument missing\n");
s->not_after = aa; // string string
} else
- if ((aret = argcmp(str, "NotBefore")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NotBefore")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NotBefore argument missing\n");
s->not_before = aa; // string string
@@ -6121,22 +13933,22 @@ int maintenance_event_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int nat_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct nat_service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ClientToken")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientToken")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientToken argument missing\n");
s->client_token = aa; // string string
} else
- if ((aret = argcmp(str, "NatServiceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NatServiceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NatServiceId argument missing\n");
s->nat_service_id = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIps")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIps")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6161,17 +13973,17 @@ int nat_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->public_ips_str = aa; // array ref PublicIpLight ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6206,27 +14018,27 @@ int nat_service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct net *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DhcpOptionsSetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DhcpOptionsSetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DhcpOptionsSetId argument missing\n");
s->dhcp_options_set_id = aa; // string string
} else
- if ((aret = argcmp(str, "IpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "IpRange argument missing\n");
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6251,7 +14063,7 @@ int net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "Tenancy")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tenancy")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Tenancy argument missing\n");
s->tenancy = aa; // string string
@@ -6266,34 +14078,55 @@ int net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int net_access_point_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct net_access_point *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "NetAccessPointId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetAccessPointId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetAccessPointId argument missing\n");
s->net_access_point_id = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "RouteTableIds")) == 0 || aret == '=') {
- TRY(!aa, "RouteTableIds argument missing\n");
- s->route_table_ids_str = aa;
+ if ((aret = strcmp(str, "RouteTableIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteTableIds require an index\n");
+ if (s->route_table_ids) {
+ for (; s->route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_table_ids, "", pa);
+ SET_NEXT(s->route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteTableIds argument missing\n");
+ s->route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteTableIds[]")) || aret == '=') {
TRY(!aa, "RouteTableIds[] argument missing\n");
SET_NEXT(s->route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ServiceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ServiceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ServiceName argument missing\n");
s->service_name = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6328,7 +14161,7 @@ int net_access_point_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct net_peering *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccepterNet")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccepterNet")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "AccepterNet argument missing\n");
@@ -6345,17 +14178,17 @@ int net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->accepter_net_str = aa;
}
} else
- if ((aret = argcmp(str, "ExpirationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ExpirationDate argument missing\n");
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(str, "NetPeeringId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetPeeringId argument missing\n");
s->net_peering_id = aa; // string string
} else
- if ((aret = argcmp(str, "SourceNet")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SourceNet")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "SourceNet argument missing\n");
@@ -6372,7 +14205,7 @@ int net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->source_net_str = aa;
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "State argument missing\n");
@@ -6389,7 +14222,7 @@ int net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->state_str = aa;
}
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6424,12 +14257,12 @@ int net_peering_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int net_peering_state_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct net_peering_state *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Message")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Message")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Message argument missing\n");
s->message = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
@@ -6444,12 +14277,12 @@ int net_peering_state_parser(void *v_s, char *str, char *aa, struct ptr_array *p
int net_to_virtual_gateway_link_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct net_to_virtual_gateway_link *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -6464,17 +14297,17 @@ int net_to_virtual_gateway_link_parser(void *v_s, char *str, char *aa, struct pt
int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct nic *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "IsSourceDestChecked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_source_dest_checked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_source_dest_checked = 1;
@@ -6484,7 +14317,7 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkNic")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNic")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkNic argument missing\n");
@@ -6501,7 +14334,7 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_nic_str = aa;
}
} else
- if ((aret = argcmp(str, "LinkPublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIp")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkPublicIp argument missing\n");
@@ -6518,27 +14351,27 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_public_ip_str = aa;
}
} else
- if ((aret = argcmp(str, "MacAddress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MacAddress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MacAddress argument missing\n");
s->mac_address = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "NicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicId argument missing\n");
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateDnsName argument missing\n");
s->private_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIps")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6563,7 +14396,7 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->private_ips_str = aa; // array ref PrivateIp ref
}
} else
- if ((aret = argcmp(str, "SecurityGroups")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6588,22 +14421,22 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->security_groups_str = aa; // array ref SecurityGroupLight ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6638,7 +14471,7 @@ int nic_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int nic_for_vm_creation_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct nic_for_vm_creation *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
s->is_set_delete_on_vm_deletion = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->delete_on_vm_deletion = 1;
@@ -6648,22 +14481,22 @@ int nic_for_vm_creation_parser(void *v_s, char *str, char *aa, struct ptr_array
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "DeviceNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeviceNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DeviceNumber argument missing\n");
s->is_set_device_number = 1;
s->device_number = atoi(aa);
} else
- if ((aret = argcmp(str, "NicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicId argument missing\n");
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIps")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6688,19 +14521,40 @@ int nic_for_vm_creation_parser(void *v_s, char *str, char *aa, struct ptr_array
s->private_ips_str = aa; // array ref PrivateIpLight ref
}
} else
- if ((aret = argcmp(str, "SecondaryPrivateIpCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecondaryPrivateIpCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecondaryPrivateIpCount argument missing\n");
s->is_set_secondary_private_ip_count = 1;
s->secondary_private_ip_count = atoi(aa);
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
@@ -6715,17 +14569,17 @@ int nic_for_vm_creation_parser(void *v_s, char *str, char *aa, struct ptr_array
int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct nic_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "IsSourceDestChecked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_source_dest_checked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_source_dest_checked = 1;
@@ -6735,7 +14589,7 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkNic")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkNic")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkNic argument missing\n");
@@ -6752,7 +14606,7 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_nic_str = aa;
}
} else
- if ((aret = argcmp(str, "LinkPublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIp")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkPublicIp argument missing\n");
@@ -6769,27 +14623,27 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_public_ip_str = aa;
}
} else
- if ((aret = argcmp(str, "MacAddress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MacAddress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MacAddress argument missing\n");
s->mac_address = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "NicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicId argument missing\n");
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateDnsName argument missing\n");
s->private_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIps")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6814,7 +14668,7 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->private_ips_str = aa; // array ref PrivateIpLightForVm ref
}
} else
- if ((aret = argcmp(str, "SecurityGroups")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -6839,12 +14693,12 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->security_groups_str = aa; // array ref SecurityGroupLight ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
@@ -6859,12 +14713,12 @@ int nic_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int osu_api_key_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct osu_api_key *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ApiKeyId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ApiKeyId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ApiKeyId argument missing\n");
s->api_key_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecretKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecretKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecretKey argument missing\n");
s->secret_key = aa; // string string
@@ -6879,22 +14733,22 @@ int osu_api_key_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int osu_export_image_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct osu_export_image_export_task *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DiskImageFormat")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DiskImageFormat")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DiskImageFormat argument missing\n");
s->disk_image_format = aa; // string string
} else
- if ((aret = argcmp(str, "OsuBucket")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuBucket")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuBucket argument missing\n");
s->osu_bucket = aa; // string string
} else
- if ((aret = argcmp(str, "OsuManifestUrl")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuManifestUrl")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuManifestUrl argument missing\n");
s->osu_manifest_url = aa; // string string
} else
- if ((aret = argcmp(str, "OsuPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuPrefix argument missing\n");
s->osu_prefix = aa; // string string
@@ -6909,17 +14763,17 @@ int osu_export_image_export_task_parser(void *v_s, char *str, char *aa, struct p
int osu_export_snapshot_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct osu_export_snapshot_export_task *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DiskImageFormat")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DiskImageFormat")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DiskImageFormat argument missing\n");
s->disk_image_format = aa; // string string
} else
- if ((aret = argcmp(str, "OsuBucket")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuBucket")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuBucket argument missing\n");
s->osu_bucket = aa; // string string
} else
- if ((aret = argcmp(str, "OsuPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuPrefix argument missing\n");
s->osu_prefix = aa; // string string
@@ -6934,12 +14788,12 @@ int osu_export_snapshot_export_task_parser(void *v_s, char *str, char *aa, struc
int osu_export_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct osu_export_to_create *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DiskImageFormat")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DiskImageFormat")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DiskImageFormat argument missing\n");
s->disk_image_format = aa; // string string
} else
- if ((aret = argcmp(str, "OsuApiKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuApiKey")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "OsuApiKey argument missing\n");
@@ -6956,17 +14810,17 @@ int osu_export_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array
s->osu_api_key_str = aa;
}
} else
- if ((aret = argcmp(str, "OsuBucket")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuBucket")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuBucket argument missing\n");
s->osu_bucket = aa; // string string
} else
- if ((aret = argcmp(str, "OsuManifestUrl")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuManifestUrl")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuManifestUrl argument missing\n");
s->osu_manifest_url = aa; // string string
} else
- if ((aret = argcmp(str, "OsuPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsuPrefix argument missing\n");
s->osu_prefix = aa; // string string
@@ -6981,14 +14835,35 @@ int osu_export_to_create_parser(void *v_s, char *str, char *aa, struct ptr_array
int permissions_on_resource_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct permissions_on_resource *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountIds")) == 0 || aret == '=') {
- TRY(!aa, "AccountIds argument missing\n");
- s->account_ids_str = aa;
+ if ((aret = strcmp(str, "AccountIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AccountIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AccountIds require an index\n");
+ if (s->account_ids) {
+ for (; s->account_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->account_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->account_ids, "", pa);
+ SET_NEXT(s->account_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AccountIds argument missing\n");
+ s->account_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AccountIds[]")) || aret == '=') {
TRY(!aa, "AccountIds[] argument missing\n");
SET_NEXT(s->account_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "GlobalPermission")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "GlobalPermission")) == 0 || aret == '=' || aret == '.') {
s->is_set_global_permission = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->global_permission = 1;
@@ -7008,7 +14883,7 @@ int permissions_on_resource_parser(void *v_s, char *str, char *aa, struct ptr_ar
int permissions_on_resource_creation_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct permissions_on_resource_creation *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Additions")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Additions")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Additions argument missing\n");
@@ -7025,7 +14900,7 @@ int permissions_on_resource_creation_parser(void *v_s, char *str, char *aa, stru
s->additions_str = aa;
}
} else
- if ((aret = argcmp(str, "Removals")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Removals")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Removals argument missing\n");
@@ -7052,55 +14927,139 @@ int permissions_on_resource_creation_parser(void *v_s, char *str, char *aa, stru
int phase1_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct phase1_options *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DpdTimeoutAction")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DpdTimeoutAction")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DpdTimeoutAction argument missing\n");
s->dpd_timeout_action = aa; // string string
} else
- if ((aret = argcmp(str, "DpdTimeoutSeconds")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DpdTimeoutSeconds")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DpdTimeoutSeconds argument missing\n");
s->is_set_dpd_timeout_seconds = 1;
s->dpd_timeout_seconds = atoi(aa);
} else
- if ((aret = argcmp(str, "IkeVersions")) == 0 || aret == '=') {
- TRY(!aa, "IkeVersions argument missing\n");
- s->ike_versions_str = aa;
+ if ((aret = strcmp(str, "IkeVersions")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IkeVersions argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IkeVersions require an index\n");
+ if (s->ike_versions) {
+ for (; s->ike_versions[last]; ++last);
+ }
+ if (pos < last) {
+ s->ike_versions[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ike_versions, "", pa);
+ SET_NEXT(s->ike_versions, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IkeVersions argument missing\n");
+ s->ike_versions_str = aa;
+ }
} else if (!(aret = strcmp(str, "IkeVersions[]")) || aret == '=') {
TRY(!aa, "IkeVersions[] argument missing\n");
SET_NEXT(s->ike_versions, (aa), pa);
} else
- if ((aret = argcmp(str, "Phase1DhGroupNumbers")) == 0 || aret == '=') {
- TRY(!aa, "Phase1DhGroupNumbers argument missing\n");
- s->phase1_dh_group_numbers_str = aa;
+ if ((aret = strcmp(str, "Phase1DhGroupNumbers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase1DhGroupNumbers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase1DhGroupNumbers require an index\n");
+ if (s->phase1_dh_group_numbers) {
+ for (; s->phase1_dh_group_numbers[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase1_dh_group_numbers[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase1_dh_group_numbers, 0, pa);
+ SET_NEXT(s->phase1_dh_group_numbers, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase1DhGroupNumbers argument missing\n");
+ s->phase1_dh_group_numbers_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase1DhGroupNumbers[]")) || aret == '=') {
TRY(!aa, "Phase1DhGroupNumbers[] argument missing\n");
SET_NEXT(s->phase1_dh_group_numbers, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "Phase1EncryptionAlgorithms")) == 0 || aret == '=') {
- TRY(!aa, "Phase1EncryptionAlgorithms argument missing\n");
- s->phase1_encryption_algorithms_str = aa;
+ if ((aret = strcmp(str, "Phase1EncryptionAlgorithms")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase1EncryptionAlgorithms argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase1EncryptionAlgorithms require an index\n");
+ if (s->phase1_encryption_algorithms) {
+ for (; s->phase1_encryption_algorithms[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase1_encryption_algorithms[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase1_encryption_algorithms, "", pa);
+ SET_NEXT(s->phase1_encryption_algorithms, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase1EncryptionAlgorithms argument missing\n");
+ s->phase1_encryption_algorithms_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase1EncryptionAlgorithms[]")) || aret == '=') {
TRY(!aa, "Phase1EncryptionAlgorithms[] argument missing\n");
SET_NEXT(s->phase1_encryption_algorithms, (aa), pa);
} else
- if ((aret = argcmp(str, "Phase1IntegrityAlgorithms")) == 0 || aret == '=') {
- TRY(!aa, "Phase1IntegrityAlgorithms argument missing\n");
- s->phase1_integrity_algorithms_str = aa;
+ if ((aret = strcmp(str, "Phase1IntegrityAlgorithms")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase1IntegrityAlgorithms argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase1IntegrityAlgorithms require an index\n");
+ if (s->phase1_integrity_algorithms) {
+ for (; s->phase1_integrity_algorithms[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase1_integrity_algorithms[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase1_integrity_algorithms, "", pa);
+ SET_NEXT(s->phase1_integrity_algorithms, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase1IntegrityAlgorithms argument missing\n");
+ s->phase1_integrity_algorithms_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase1IntegrityAlgorithms[]")) || aret == '=') {
TRY(!aa, "Phase1IntegrityAlgorithms[] argument missing\n");
SET_NEXT(s->phase1_integrity_algorithms, (aa), pa);
} else
- if ((aret = argcmp(str, "Phase1LifetimeSeconds")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Phase1LifetimeSeconds")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Phase1LifetimeSeconds argument missing\n");
s->is_set_phase1_lifetime_seconds = 1;
s->phase1_lifetime_seconds = atoi(aa);
} else
- if ((aret = argcmp(str, "ReplayWindowSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ReplayWindowSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ReplayWindowSize argument missing\n");
s->is_set_replay_window_size = 1;
s->replay_window_size = atoi(aa);
} else
- if ((aret = argcmp(str, "StartupAction")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StartupAction")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StartupAction argument missing\n");
s->startup_action = aa; // string string
@@ -7115,33 +15074,96 @@ int phase1_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int phase2_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct phase2_options *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Phase2DhGroupNumbers")) == 0 || aret == '=') {
- TRY(!aa, "Phase2DhGroupNumbers argument missing\n");
- s->phase2_dh_group_numbers_str = aa;
+ if ((aret = strcmp(str, "Phase2DhGroupNumbers")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase2DhGroupNumbers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase2DhGroupNumbers require an index\n");
+ if (s->phase2_dh_group_numbers) {
+ for (; s->phase2_dh_group_numbers[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase2_dh_group_numbers[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase2_dh_group_numbers, 0, pa);
+ SET_NEXT(s->phase2_dh_group_numbers, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase2DhGroupNumbers argument missing\n");
+ s->phase2_dh_group_numbers_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase2DhGroupNumbers[]")) || aret == '=') {
TRY(!aa, "Phase2DhGroupNumbers[] argument missing\n");
SET_NEXT(s->phase2_dh_group_numbers, atoi(aa), pa);
} else
- if ((aret = argcmp(str, "Phase2EncryptionAlgorithms")) == 0 || aret == '=') {
- TRY(!aa, "Phase2EncryptionAlgorithms argument missing\n");
- s->phase2_encryption_algorithms_str = aa;
+ if ((aret = strcmp(str, "Phase2EncryptionAlgorithms")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase2EncryptionAlgorithms argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase2EncryptionAlgorithms require an index\n");
+ if (s->phase2_encryption_algorithms) {
+ for (; s->phase2_encryption_algorithms[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase2_encryption_algorithms[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase2_encryption_algorithms, "", pa);
+ SET_NEXT(s->phase2_encryption_algorithms, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase2EncryptionAlgorithms argument missing\n");
+ s->phase2_encryption_algorithms_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase2EncryptionAlgorithms[]")) || aret == '=') {
TRY(!aa, "Phase2EncryptionAlgorithms[] argument missing\n");
SET_NEXT(s->phase2_encryption_algorithms, (aa), pa);
} else
- if ((aret = argcmp(str, "Phase2IntegrityAlgorithms")) == 0 || aret == '=') {
- TRY(!aa, "Phase2IntegrityAlgorithms argument missing\n");
- s->phase2_integrity_algorithms_str = aa;
+ if ((aret = strcmp(str, "Phase2IntegrityAlgorithms")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Phase2IntegrityAlgorithms argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Phase2IntegrityAlgorithms require an index\n");
+ if (s->phase2_integrity_algorithms) {
+ for (; s->phase2_integrity_algorithms[last]; ++last);
+ }
+ if (pos < last) {
+ s->phase2_integrity_algorithms[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->phase2_integrity_algorithms, "", pa);
+ SET_NEXT(s->phase2_integrity_algorithms, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Phase2IntegrityAlgorithms argument missing\n");
+ s->phase2_integrity_algorithms_str = aa;
+ }
} else if (!(aret = strcmp(str, "Phase2IntegrityAlgorithms[]")) || aret == '=') {
TRY(!aa, "Phase2IntegrityAlgorithms[] argument missing\n");
SET_NEXT(s->phase2_integrity_algorithms, (aa), pa);
} else
- if ((aret = argcmp(str, "Phase2LifetimeSeconds")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Phase2LifetimeSeconds")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Phase2LifetimeSeconds argument missing\n");
s->is_set_phase2_lifetime_seconds = 1;
s->phase2_lifetime_seconds = atoi(aa);
} else
- if ((aret = argcmp(str, "PreSharedKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PreSharedKey")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PreSharedKey argument missing\n");
s->pre_shared_key = aa; // string string
@@ -7156,12 +15178,12 @@ int phase2_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int placement_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct placement *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Tenancy")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tenancy")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Tenancy argument missing\n");
s->tenancy = aa; // string string
@@ -7176,17 +15198,17 @@ int placement_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct policy *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "IsLinkable")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsLinkable")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_linkable = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_linkable = 1;
@@ -7196,37 +15218,37 @@ int policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsLinkable require true/false\n");
}
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "Orn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Orn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Orn argument missing\n");
s->orn = aa; // string string
} else
- if ((aret = argcmp(str, "Path")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Path")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Path argument missing\n");
s->path = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyDefaultVersionId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyDefaultVersionId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyDefaultVersionId argument missing\n");
s->policy_default_version_id = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyId argument missing\n");
s->policy_id = aa; // string string
} else
- if ((aret = argcmp(str, "PolicyName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PolicyName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PolicyName argument missing\n");
s->policy_name = aa; // string string
} else
- if ((aret = argcmp(str, "ResourcesCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResourcesCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ResourcesCount argument missing\n");
s->is_set_resources_count = 1;
s->resources_count = atoi(aa);
@@ -7241,17 +15263,17 @@ int policy_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int policy_version_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct policy_version *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Body")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Body")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Body argument missing\n");
s->body = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "DefaultVersion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DefaultVersion")) == 0 || aret == '=' || aret == '.') {
s->is_set_default_version = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->default_version = 1;
@@ -7261,7 +15283,7 @@ int policy_version_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
BAD_RET("DefaultVersion require true/false\n");
}
} else
- if ((aret = argcmp(str, "VersionId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VersionId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VersionId argument missing\n");
s->version_id = aa; // string string
@@ -7276,7 +15298,7 @@ int policy_version_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int private_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct private_ip *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "IsPrimary")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsPrimary")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_primary = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_primary = 1;
@@ -7286,7 +15308,7 @@ int private_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsPrimary require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkPublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIp")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkPublicIp argument missing\n");
@@ -7303,12 +15325,12 @@ int private_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_public_ip_str = aa;
}
} else
- if ((aret = argcmp(str, "PrivateDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateDnsName argument missing\n");
s->private_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateIp argument missing\n");
s->private_ip = aa; // string string
@@ -7323,7 +15345,7 @@ int private_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int private_ip_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct private_ip_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "IsPrimary")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsPrimary")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_primary = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_primary = 1;
@@ -7333,7 +15355,7 @@ int private_ip_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
BAD_RET("IsPrimary require true/false\n");
}
} else
- if ((aret = argcmp(str, "PrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateIp argument missing\n");
s->private_ip = aa; // string string
@@ -7348,7 +15370,7 @@ int private_ip_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa
int private_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct private_ip_light_for_vm *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "IsPrimary")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsPrimary")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_primary = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_primary = 1;
@@ -7358,7 +15380,7 @@ int private_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct ptr_ar
BAD_RET("IsPrimary require true/false\n");
}
} else
- if ((aret = argcmp(str, "LinkPublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIp")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "LinkPublicIp argument missing\n");
@@ -7375,12 +15397,12 @@ int private_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct ptr_ar
s->link_public_ip_str = aa;
}
} else
- if ((aret = argcmp(str, "PrivateDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateDnsName argument missing\n");
s->private_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateIp argument missing\n");
s->private_ip = aa; // string string
@@ -7395,17 +15417,17 @@ int private_ip_light_for_vm_parser(void *v_s, char *str, char *aa, struct ptr_ar
int product_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct product_type *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "ProductTypeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ProductTypeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ProductTypeId argument missing\n");
s->product_type_id = aa; // string string
} else
- if ((aret = argcmp(str, "Vendor")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Vendor")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Vendor argument missing\n");
s->vendor = aa; // string string
@@ -7420,37 +15442,37 @@ int product_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct public_ip *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkPublicIpId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkPublicIpId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LinkPublicIpId argument missing\n");
s->link_public_ip_id = aa; // string string
} else
- if ((aret = argcmp(str, "NicAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicAccountId argument missing\n");
s->nic_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "NicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicId argument missing\n");
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateIp argument missing\n");
s->private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIpId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIpId argument missing\n");
s->public_ip_id = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7475,7 +15497,7 @@ int public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -7490,12 +15512,12 @@ int public_ip_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int public_ip_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct public_ip_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIpId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIpId argument missing\n");
s->public_ip_id = aa; // string string
@@ -7510,37 +15532,37 @@ int public_ip_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int quota_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct quota *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "MaxValue")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaxValue")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MaxValue argument missing\n");
s->is_set_max_value = 1;
s->max_value = atoi(aa);
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
} else
- if ((aret = argcmp(str, "QuotaCollection")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QuotaCollection")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QuotaCollection argument missing\n");
s->quota_collection = aa; // string string
} else
- if ((aret = argcmp(str, "ShortDescription")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ShortDescription")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ShortDescription argument missing\n");
s->short_description = aa; // string string
} else
- if ((aret = argcmp(str, "UsedValue")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UsedValue")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UsedValue argument missing\n");
s->is_set_used_value = 1;
s->used_value = atoi(aa);
@@ -7555,12 +15577,12 @@ int quota_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int quota_types_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct quota_types *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "QuotaType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QuotaType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "QuotaType argument missing\n");
s->quota_type = aa; // string string
} else
- if ((aret = argcmp(str, "Quotas")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Quotas")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7595,7 +15617,7 @@ int quota_types_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int read_linked_policies_filters_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct read_linked_policies_filters *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "PathPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PathPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PathPrefix argument missing\n");
s->path_prefix = aa; // string string
@@ -7610,7 +15632,7 @@ int read_linked_policies_filters_parser(void *v_s, char *str, char *aa, struct p
int read_policies_filters_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct read_policies_filters *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "OnlyLinked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OnlyLinked")) == 0 || aret == '=' || aret == '.') {
s->is_set_only_linked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->only_linked = 1;
@@ -7620,12 +15642,12 @@ int read_policies_filters_parser(void *v_s, char *str, char *aa, struct ptr_arra
BAD_RET("OnlyLinked require true/false\n");
}
} else
- if ((aret = argcmp(str, "PathPrefix")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PathPrefix")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PathPrefix argument missing\n");
s->path_prefix = aa; // string string
} else
- if ((aret = argcmp(str, "Scope")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Scope")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Scope argument missing\n");
s->scope = aa; // string string
@@ -7640,12 +15662,12 @@ int read_policies_filters_parser(void *v_s, char *str, char *aa, struct ptr_arra
int region_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct region *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Endpoint")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Endpoint")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Endpoint argument missing\n");
s->endpoint = aa; // string string
} else
- if ((aret = argcmp(str, "RegionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RegionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RegionName argument missing\n");
s->region_name = aa; // string string
@@ -7660,7 +15682,7 @@ int region_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int resource_load_balancer_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct resource_load_balancer_tag *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Key")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Key")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Key argument missing\n");
s->key = aa; // string string
@@ -7675,12 +15697,12 @@ int resource_load_balancer_tag_parser(void *v_s, char *str, char *aa, struct ptr
int resource_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct resource_tag *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Key")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Key")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Key argument missing\n");
s->key = aa; // string string
} else
- if ((aret = argcmp(str, "Value")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Value")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Value argument missing\n");
s->value = aa; // string string
@@ -7695,57 +15717,57 @@ int resource_tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int route_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct route *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationMethod")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationMethod")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationMethod argument missing\n");
s->creation_method = aa; // string string
} else
- if ((aret = argcmp(str, "DestinationIpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DestinationIpRange argument missing\n");
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "DestinationServiceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DestinationServiceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DestinationServiceId argument missing\n");
s->destination_service_id = aa; // string string
} else
- if ((aret = argcmp(str, "GatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "GatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "GatewayId argument missing\n");
s->gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "NatServiceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NatServiceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NatServiceId argument missing\n");
s->nat_service_id = aa; // string string
} else
- if ((aret = argcmp(str, "NetAccessPointId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetAccessPointId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetAccessPointId argument missing\n");
s->net_access_point_id = aa; // string string
} else
- if ((aret = argcmp(str, "NetPeeringId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetPeeringId argument missing\n");
s->net_peering_id = aa; // string string
} else
- if ((aret = argcmp(str, "NicId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NicId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NicId argument missing\n");
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "VmAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmAccountId argument missing\n");
s->vm_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -7760,17 +15782,17 @@ int route_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int route_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct route_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "DestinationIpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "DestinationIpRange argument missing\n");
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "RouteType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RouteType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RouteType argument missing\n");
s->route_type = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
@@ -7785,7 +15807,7 @@ int route_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int route_propagating_virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct route_propagating_virtual_gateway *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "VirtualGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualGatewayId argument missing\n");
s->virtual_gateway_id = aa; // string string
@@ -7800,7 +15822,7 @@ int route_propagating_virtual_gateway_parser(void *v_s, char *str, char *aa, str
int route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct route_table *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LinkRouteTables")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkRouteTables")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7825,12 +15847,12 @@ int route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->link_route_tables_str = aa; // array ref LinkRouteTable ref
}
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "RoutePropagatingVirtualGateways")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RoutePropagatingVirtualGateways")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7855,12 +15877,12 @@ int route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->route_propagating_virtual_gateways_str = aa; // array ref RoutePropagatingVirtualGateway ref
}
} else
- if ((aret = argcmp(str, "RouteTableId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RouteTableId argument missing\n");
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(str, "Routes")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Routes")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7885,7 +15907,7 @@ int route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->routes_str = aa; // array ref Route ref
}
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7920,17 +15942,17 @@ int route_table_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct security_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "InboundRules")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "InboundRules")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7955,12 +15977,12 @@ int security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->inbound_rules_str = aa; // array ref SecurityGroupRule ref
}
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "OutboundRules")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OutboundRules")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -7985,17 +16007,17 @@ int security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->outbound_rules_str = aa; // array ref SecurityGroupRule ref
}
} else
- if ((aret = argcmp(str, "SecurityGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupId argument missing\n");
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupName argument missing\n");
s->security_group_name = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8030,12 +16052,12 @@ int security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int security_group_light_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct security_group_light *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "SecurityGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupId argument missing\n");
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupName argument missing\n");
s->security_group_name = aa; // string string
@@ -8050,24 +16072,45 @@ int security_group_light_parser(void *v_s, char *str, char *aa, struct ptr_array
int security_group_rule_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct security_group_rule *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "FromPortRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "FromPortRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "FromPortRange argument missing\n");
s->is_set_from_port_range = 1;
s->from_port_range = atoi(aa);
} else
- if ((aret = argcmp(str, "IpProtocol")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IpProtocol")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "IpProtocol argument missing\n");
s->ip_protocol = aa; // string string
} else
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "SecurityGroupsMembers")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupsMembers")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8092,14 +16135,35 @@ int security_group_rule_parser(void *v_s, char *str, char *aa, struct ptr_array
s->security_groups_members_str = aa; // array ref SecurityGroupsMember ref
}
} else
- if ((aret = argcmp(str, "ServiceIds")) == 0 || aret == '=') {
- TRY(!aa, "ServiceIds argument missing\n");
- s->service_ids_str = aa;
+ if ((aret = strcmp(str, "ServiceIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ServiceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ServiceIds require an index\n");
+ if (s->service_ids) {
+ for (; s->service_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->service_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->service_ids, "", pa);
+ SET_NEXT(s->service_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ServiceIds argument missing\n");
+ s->service_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ServiceIds[]")) || aret == '=') {
TRY(!aa, "ServiceIds[] argument missing\n");
SET_NEXT(s->service_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "ToPortRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ToPortRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ToPortRange argument missing\n");
s->is_set_to_port_range = 1;
s->to_port_range = atoi(aa);
@@ -8114,17 +16178,17 @@ int security_group_rule_parser(void *v_s, char *str, char *aa, struct ptr_array
int security_groups_member_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct security_groups_member *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupId argument missing\n");
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupName argument missing\n");
s->security_group_name = aa; // string string
@@ -8139,32 +16203,32 @@ int security_groups_member_parser(void *v_s, char *str, char *aa, struct ptr_arr
int server_certificate_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct server_certificate *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ExpirationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ExpirationDate argument missing\n");
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(str, "Id")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Id")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Id argument missing\n");
s->id = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
} else
- if ((aret = argcmp(str, "Orn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Orn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Orn argument missing\n");
s->orn = aa; // string string
} else
- if ((aret = argcmp(str, "Path")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Path")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Path argument missing\n");
s->path = aa; // string string
} else
- if ((aret = argcmp(str, "UploadDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UploadDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UploadDate argument missing\n");
s->upload_date = aa; // string string
@@ -8179,19 +16243,40 @@ int server_certificate_parser(void *v_s, char *str, char *aa, struct ptr_array *
int service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct service *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "IpRanges")) == 0 || aret == '=') {
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if ((aret = strcmp(str, "IpRanges")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
} else
- if ((aret = argcmp(str, "ServiceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ServiceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ServiceId argument missing\n");
s->service_id = aa; // string string
} else
- if ((aret = argcmp(str, "ServiceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ServiceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ServiceName argument missing\n");
s->service_name = aa; // string string
@@ -8206,27 +16291,27 @@ int service_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct snapshot *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountAlias")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountAlias")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountAlias argument missing\n");
s->account_alias = aa; // string string
} else
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "PermissionsToCreateVolume")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PermissionsToCreateVolume")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "PermissionsToCreateVolume argument missing\n");
@@ -8243,22 +16328,22 @@ int snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->permissions_to_create_volume_str = aa;
}
} else
- if ((aret = argcmp(str, "Progress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Progress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Progress argument missing\n");
s->is_set_progress = 1;
s->progress = atoi(aa);
} else
- if ((aret = argcmp(str, "SnapshotId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SnapshotId argument missing\n");
s->snapshot_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8283,12 +16368,12 @@ int snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VolumeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeId argument missing\n");
s->volume_id = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeSize argument missing\n");
s->is_set_volume_size = 1;
s->volume_size = atoi(aa);
@@ -8303,12 +16388,12 @@ int snapshot_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int snapshot_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct snapshot_export_task *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Comment")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Comment")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Comment argument missing\n");
s->comment = aa; // string string
} else
- if ((aret = argcmp(str, "OsuExport")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsuExport")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "OsuExport argument missing\n");
@@ -8325,22 +16410,22 @@ int snapshot_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array
s->osu_export_str = aa;
}
} else
- if ((aret = argcmp(str, "Progress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Progress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Progress argument missing\n");
s->is_set_progress = 1;
s->progress = atoi(aa);
} else
- if ((aret = argcmp(str, "SnapshotId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SnapshotId argument missing\n");
s->snapshot_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8365,7 +16450,7 @@ int snapshot_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "TaskId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "TaskId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "TaskId argument missing\n");
s->task_id = aa; // string string
@@ -8380,17 +16465,17 @@ int snapshot_export_task_parser(void *v_s, char *str, char *aa, struct ptr_array
int source_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct source_net *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AccountId argument missing\n");
s->account_id = aa; // string string
} else
- if ((aret = argcmp(str, "IpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "IpRange argument missing\n");
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
@@ -8405,12 +16490,12 @@ int source_net_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int source_security_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct source_security_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "SecurityGroupAccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupAccountId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupAccountId argument missing\n");
s->security_group_account_id = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SecurityGroupName argument missing\n");
s->security_group_name = aa; // string string
@@ -8425,12 +16510,12 @@ int source_security_group_parser(void *v_s, char *str, char *aa, struct ptr_arra
int state_comment_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct state_comment *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "StateCode")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateCode")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateCode argument missing\n");
s->state_code = aa; // string string
} else
- if ((aret = argcmp(str, "StateMessage")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateMessage")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateMessage argument missing\n");
s->state_message = aa; // string string
@@ -8445,17 +16530,17 @@ int state_comment_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int subnet_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct subnet *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AvailableIpsCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AvailableIpsCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AvailableIpsCount argument missing\n");
s->is_set_available_ips_count = 1;
s->available_ips_count = atoi(aa);
} else
- if ((aret = argcmp(str, "IpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "IpRange argument missing\n");
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(str, "MapPublicIpOnLaunch")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MapPublicIpOnLaunch")) == 0 || aret == '=' || aret == '.') {
s->is_set_map_public_ip_on_launch = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->map_public_ip_on_launch = 1;
@@ -8465,27 +16550,27 @@ int subnet_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("MapPublicIpOnLaunch require true/false\n");
}
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8520,22 +16605,22 @@ int subnet_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int subregion_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct subregion *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "LocationCode")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LocationCode")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LocationCode argument missing\n");
s->location_code = aa; // string string
} else
- if ((aret = argcmp(str, "RegionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RegionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RegionName argument missing\n");
s->region_name = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
@@ -8550,22 +16635,22 @@ int subregion_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct tag *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Key")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Key")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Key argument missing\n");
s->key = aa; // string string
} else
- if ((aret = argcmp(str, "ResourceId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResourceId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ResourceId argument missing\n");
s->resource_id = aa; // string string
} else
- if ((aret = argcmp(str, "ResourceType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResourceType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ResourceType argument missing\n");
s->resource_type = aa; // string string
} else
- if ((aret = argcmp(str, "Value")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Value")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Value argument missing\n");
s->value = aa; // string string
@@ -8580,27 +16665,27 @@ int tag_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int user_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct user *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "Path")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Path")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Path argument missing\n");
s->path = aa; // string string
} else
- if ((aret = argcmp(str, "UserId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UserId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UserId argument missing\n");
s->user_id = aa; // string string
} else
- if ((aret = argcmp(str, "UserName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UserName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UserName argument missing\n");
s->user_name = aa; // string string
@@ -8615,32 +16700,32 @@ int user_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int user_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct user_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "LastModificationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastModificationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastModificationDate argument missing\n");
s->last_modification_date = aa; // string string
} else
- if ((aret = argcmp(str, "Name")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Name")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Name argument missing\n");
s->name = aa; // string string
} else
- if ((aret = argcmp(str, "Orn")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Orn")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Orn argument missing\n");
s->orn = aa; // string string
} else
- if ((aret = argcmp(str, "Path")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Path")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Path argument missing\n");
s->path = aa; // string string
} else
- if ((aret = argcmp(str, "UserGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UserGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UserGroupId argument missing\n");
s->user_group_id = aa; // string string
@@ -8655,27 +16740,27 @@ int user_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vgw_telemetry_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vgw_telemetry *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AcceptedRouteCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AcceptedRouteCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "AcceptedRouteCount argument missing\n");
s->is_set_accepted_route_count = 1;
s->accepted_route_count = atoi(aa);
} else
- if ((aret = argcmp(str, "LastStateChangeDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LastStateChangeDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LastStateChangeDate argument missing\n");
s->last_state_change_date = aa; // string string
} else
- if ((aret = argcmp(str, "OutsideIpAddress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OutsideIpAddress")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OutsideIpAddress argument missing\n");
s->outside_ip_address = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "StateDescription")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateDescription")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateDescription argument missing\n");
s->state_description = aa; // string string
@@ -8690,12 +16775,12 @@ int vgw_telemetry_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct virtual_gateway *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ConnectionType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ConnectionType argument missing\n");
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(str, "NetToVirtualGatewayLinks")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetToVirtualGatewayLinks")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8720,12 +16805,12 @@ int virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->net_to_virtual_gateway_links_str = aa; // array ref NetToVirtualGatewayLink ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8750,7 +16835,7 @@ int virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VirtualGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualGatewayId argument missing\n");
s->virtual_gateway_id = aa; // string string
@@ -8765,12 +16850,12 @@ int virtual_gateway_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Architecture")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Architecture")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Architecture argument missing\n");
s->architecture = aa; // string string
} else
- if ((aret = argcmp(str, "BlockDeviceMappings")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BlockDeviceMappings")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8795,7 +16880,7 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->block_device_mappings_str = aa; // array ref BlockDeviceMappingCreated ref
}
} else
- if ((aret = argcmp(str, "BsuOptimized")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BsuOptimized")) == 0 || aret == '=' || aret == '.') {
s->is_set_bsu_optimized = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->bsu_optimized = 1;
@@ -8805,17 +16890,17 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("BsuOptimized require true/false\n");
}
} else
- if ((aret = argcmp(str, "ClientToken")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientToken")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientToken argument missing\n");
s->client_token = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "DeletionProtection")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "DeletionProtection")) == 0 || aret == '=' || aret == '.') {
s->is_set_deletion_protection = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->deletion_protection = 1;
@@ -8825,17 +16910,17 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("DeletionProtection require true/false\n");
}
} else
- if ((aret = argcmp(str, "Hypervisor")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Hypervisor")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Hypervisor argument missing\n");
s->hypervisor = aa; // string string
} else
- if ((aret = argcmp(str, "ImageId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageId argument missing\n");
s->image_id = aa; // string string
} else
- if ((aret = argcmp(str, "IsSourceDestChecked")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "IsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
s->is_set_is_source_dest_checked = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->is_source_dest_checked = 1;
@@ -8845,17 +16930,17 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("IsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(str, "KeypairName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairName argument missing\n");
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(str, "LaunchNumber")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LaunchNumber")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "LaunchNumber argument missing\n");
s->is_set_launch_number = 1;
s->launch_number = atoi(aa);
} else
- if ((aret = argcmp(str, "NestedVirtualization")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NestedVirtualization")) == 0 || aret == '=' || aret == '.') {
s->is_set_nested_virtualization = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->nested_virtualization = 1;
@@ -8865,12 +16950,12 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("NestedVirtualization require true/false\n");
}
} else
- if ((aret = argcmp(str, "NetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "NetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "NetId argument missing\n");
s->net_id = aa; // string string
} else
- if ((aret = argcmp(str, "Nics")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Nics")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8895,17 +16980,17 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->nics_str = aa; // array ref NicLight ref
}
} else
- if ((aret = argcmp(str, "OsFamily")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "OsFamily")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "OsFamily argument missing\n");
s->os_family = aa; // string string
} else
- if ((aret = argcmp(str, "Performance")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Performance")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Performance argument missing\n");
s->performance = aa; // string string
} else
- if ((aret = argcmp(str, "Placement")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Placement")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Placement argument missing\n");
@@ -8922,49 +17007,70 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->placement_str = aa;
}
} else
- if ((aret = argcmp(str, "PrivateDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateDnsName argument missing\n");
s->private_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PrivateIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PrivateIp argument missing\n");
s->private_ip = aa; // string string
} else
- if ((aret = argcmp(str, "ProductCodes")) == 0 || aret == '=') {
- TRY(!aa, "ProductCodes argument missing\n");
- s->product_codes_str = aa;
+ if ((aret = strcmp(str, "ProductCodes")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodes require an index\n");
+ if (s->product_codes) {
+ for (; s->product_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_codes, "", pa);
+ SET_NEXT(s->product_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodes argument missing\n");
+ s->product_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodes[]")) || aret == '=') {
TRY(!aa, "ProductCodes[] argument missing\n");
SET_NEXT(s->product_codes, (aa), pa);
} else
- if ((aret = argcmp(str, "PublicDnsName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicDnsName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicDnsName argument missing\n");
s->public_dns_name = aa; // string string
} else
- if ((aret = argcmp(str, "PublicIp")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PublicIp")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PublicIp argument missing\n");
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(str, "ReservationId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ReservationId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ReservationId argument missing\n");
s->reservation_id = aa; // string string
} else
- if ((aret = argcmp(str, "RootDeviceName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RootDeviceName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RootDeviceName argument missing\n");
s->root_device_name = aa; // string string
} else
- if ((aret = argcmp(str, "RootDeviceType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RootDeviceType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "RootDeviceType argument missing\n");
s->root_device_type = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroups")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -8989,22 +17095,22 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->security_groups_str = aa; // array ref SecurityGroupLight ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "StateReason")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StateReason")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "StateReason argument missing\n");
s->state_reason = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9029,22 +17135,22 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "UserData")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "UserData")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "UserData argument missing\n");
s->user_data = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmInitiatedShutdownBehavior")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmInitiatedShutdownBehavior")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmInitiatedShutdownBehavior argument missing\n");
s->vm_initiated_shutdown_behavior = aa; // string string
} else
- if ((aret = argcmp(str, "VmType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmType argument missing\n");
s->vm_type = aa; // string string
@@ -9059,39 +17165,60 @@ int vm_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vm_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm_group *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "PositioningStrategy")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PositioningStrategy")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PositioningStrategy argument missing\n");
s->positioning_strategy = aa; // string string
} else
- if ((aret = argcmp(str, "SecurityGroupIds")) == 0 || aret == '=') {
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if ((aret = strcmp(str, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubnetId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubnetId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubnetId argument missing\n");
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9116,29 +17243,50 @@ int vm_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VmCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmCount argument missing\n");
s->is_set_vm_count = 1;
s->vm_count = atoi(aa);
} else
- if ((aret = argcmp(str, "VmGroupId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmGroupId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmGroupId argument missing\n");
s->vm_group_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmGroupName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmGroupName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmGroupName argument missing\n");
s->vm_group_name = aa; // string string
} else
- if ((aret = argcmp(str, "VmIds")) == 0 || aret == '=') {
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if ((aret = strcmp(str, "VmIds")) == 0 || aret == '=' || aret == '.') {
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
} else
- if ((aret = argcmp(str, "VmTemplateId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmTemplateId argument missing\n");
s->vm_template_id = aa; // string string
@@ -9153,17 +17301,17 @@ int vm_group_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vm_state_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm_state *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CurrentState")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CurrentState")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CurrentState argument missing\n");
s->current_state = aa; // string string
} else
- if ((aret = argcmp(str, "PreviousState")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "PreviousState")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "PreviousState argument missing\n");
s->previous_state = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
@@ -9178,7 +17326,7 @@ int vm_state_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vm_states_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm_states *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "MaintenanceEvents")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaintenanceEvents")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9203,17 +17351,17 @@ int vm_states_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->maintenance_events_str = aa; // array ref MaintenanceEvent ref
}
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "VmId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmId argument missing\n");
s->vm_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmState")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmState")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmState argument missing\n");
s->vm_state = aa; // string string
@@ -9228,47 +17376,47 @@ int vm_states_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vm_template_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm_template *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CpuCores")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CpuCores")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CpuCores argument missing\n");
s->is_set_cpu_cores = 1;
s->cpu_cores = atoi(aa);
} else
- if ((aret = argcmp(str, "CpuGeneration")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CpuGeneration")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CpuGeneration argument missing\n");
s->cpu_generation = aa; // string string
} else
- if ((aret = argcmp(str, "CpuPerformance")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CpuPerformance")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CpuPerformance argument missing\n");
s->cpu_performance = aa; // string string
} else
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Description")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Description")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Description argument missing\n");
s->description = aa; // string string
} else
- if ((aret = argcmp(str, "ImageId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ImageId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ImageId argument missing\n");
s->image_id = aa; // string string
} else
- if ((aret = argcmp(str, "KeypairName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "KeypairName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "KeypairName argument missing\n");
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(str, "Ram")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Ram")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Ram argument missing\n");
s->is_set_ram = 1;
s->ram = atoi(aa);
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9293,12 +17441,12 @@ int vm_template_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VmTemplateId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmTemplateId argument missing\n");
s->vm_template_id = aa; // string string
} else
- if ((aret = argcmp(str, "VmTemplateName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmTemplateName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmTemplateName argument missing\n");
s->vm_template_name = aa; // string string
@@ -9313,7 +17461,7 @@ int vm_template_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vm_type *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "BsuOptimized")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "BsuOptimized")) == 0 || aret == '=' || aret == '.') {
s->is_set_bsu_optimized = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->bsu_optimized = 1;
@@ -9323,47 +17471,47 @@ int vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("BsuOptimized require true/false\n");
}
} else
- if ((aret = argcmp(str, "EphemeralsType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "EphemeralsType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "EphemeralsType argument missing\n");
s->ephemerals_type = aa; // string string
} else
- if ((aret = argcmp(str, "Eth")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Eth")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Eth argument missing\n");
s->is_set_eth = 1;
s->eth = atoi(aa);
} else
- if ((aret = argcmp(str, "Gpu")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Gpu")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Gpu argument missing\n");
s->is_set_gpu = 1;
s->gpu = atoi(aa);
} else
- if ((aret = argcmp(str, "MaxPrivateIps")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MaxPrivateIps")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MaxPrivateIps argument missing\n");
s->is_set_max_private_ips = 1;
s->max_private_ips = atoi(aa);
} else
- if ((aret = argcmp(str, "MemorySize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "MemorySize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "MemorySize argument missing\n");
s->is_set_memory_size = 1;
s->memory_size = atof(aa);
} else
- if ((aret = argcmp(str, "VcoreCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VcoreCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VcoreCount argument missing\n");
s->is_set_vcore_count = 1;
s->vcore_count = atoi(aa);
} else
- if ((aret = argcmp(str, "VmTypeName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VmTypeName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VmTypeName argument missing\n");
s->vm_type_name = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeCount")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeCount")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeCount argument missing\n");
s->is_set_volume_count = 1;
s->volume_count = atoi(aa);
} else
- if ((aret = argcmp(str, "VolumeSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeSize")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeSize argument missing\n");
s->is_set_volume_size = 1;
s->volume_size = atoi(aa);
@@ -9378,17 +17526,17 @@ int vm_type_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct volume *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "CreationDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CreationDate")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "CreationDate argument missing\n");
s->creation_date = aa; // string string
} else
- if ((aret = argcmp(str, "Iops")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Iops")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Iops argument missing\n");
s->is_set_iops = 1;
s->iops = atoi(aa);
} else
- if ((aret = argcmp(str, "LinkedVolumes")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "LinkedVolumes")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9413,27 +17561,27 @@ int volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->linked_volumes_str = aa; // array ref LinkedVolume ref
}
} else
- if ((aret = argcmp(str, "Size")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Size")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "Size argument missing\n");
s->is_set_size = 1;
s->size = atoi(aa);
} else
- if ((aret = argcmp(str, "SnapshotId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SnapshotId argument missing\n");
s->snapshot_id = aa; // string string
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "SubregionName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "SubregionName")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "SubregionName argument missing\n");
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9458,12 +17606,12 @@ int volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VolumeId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeId argument missing\n");
s->volume_id = aa; // string string
} else
- if ((aret = argcmp(str, "VolumeType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VolumeType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VolumeType argument missing\n");
s->volume_type = aa; // string string
@@ -9478,22 +17626,22 @@ int volume_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vpn_connection *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "ClientGatewayConfiguration")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientGatewayConfiguration")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientGatewayConfiguration argument missing\n");
s->client_gateway_configuration = aa; // string string
} else
- if ((aret = argcmp(str, "ClientGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ClientGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ClientGatewayId argument missing\n");
s->client_gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "ConnectionType")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "ConnectionType argument missing\n");
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(str, "Routes")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Routes")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9518,12 +17666,12 @@ int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->routes_str = aa; // array ref RouteLight ref
}
} else
- if ((aret = argcmp(str, "State")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "State")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "State argument missing\n");
s->state = aa; // string string
} else
- if ((aret = argcmp(str, "StaticRoutesOnly")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "StaticRoutesOnly")) == 0 || aret == '=' || aret == '.') {
s->is_set_static_routes_only = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->static_routes_only = 1;
@@ -9533,7 +17681,7 @@ int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
BAD_RET("StaticRoutesOnly require true/false\n");
}
} else
- if ((aret = argcmp(str, "Tags")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Tags")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9558,7 +17706,7 @@ int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(str, "VgwTelemetries")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VgwTelemetries")) == 0 || aret == '=' || aret == '.') {
char *dot_pos = strchr(str, '.');
if (dot_pos) {
@@ -9583,17 +17731,17 @@ int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
s->vgw_telemetries_str = aa; // array ref VgwTelemetry ref
}
} else
- if ((aret = argcmp(str, "VirtualGatewayId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VirtualGatewayId argument missing\n");
s->virtual_gateway_id = aa; // string string
} else
- if ((aret = argcmp(str, "VpnConnectionId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VpnConnectionId")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "VpnConnectionId argument missing\n");
s->vpn_connection_id = aa; // string string
} else
- if ((aret = argcmp(str, "VpnOptions")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "VpnOptions")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "VpnOptions argument missing\n");
@@ -9620,7 +17768,7 @@ int vpn_connection_parser(void *v_s, char *str, char *aa, struct ptr_array *pa)
int vpn_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct vpn_options *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "Phase1Options")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Phase1Options")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Phase1Options argument missing\n");
@@ -9637,7 +17785,7 @@ int vpn_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->phase1_options_str = aa;
}
} else
- if ((aret = argcmp(str, "Phase2Options")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "Phase2Options")) == 0 || aret == '=' || aret == '.') {
char *dot_pos;
TRY(!aa, "Phase2Options argument missing\n");
@@ -9654,7 +17802,7 @@ int vpn_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
s->phase2_options_str = aa;
}
} else
- if ((aret = argcmp(str, "TunnelInsideIpRange")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "TunnelInsideIpRange")) == 0 || aret == '=' || aret == '.') {
TRY(!aa, "TunnelInsideIpRange argument missing\n");
s->tunnel_inside_ip_range = aa; // string string
@@ -9669,7 +17817,7 @@ int vpn_options_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
struct with *s = v_s;
int aret = 0;
- if ((aret = argcmp(str, "AccountId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "AccountId")) == 0 || aret == '=' || aret == '.') {
s->is_set_account_id = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->account_id = 1;
@@ -9679,7 +17827,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("AccountId require true/false\n");
}
} else
- if ((aret = argcmp(str, "CallDuration")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "CallDuration")) == 0 || aret == '=' || aret == '.') {
s->is_set_call_duration = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->call_duration = 1;
@@ -9689,7 +17837,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("CallDuration require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryAccessKey")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryAccessKey")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_access_key = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_access_key = 1;
@@ -9699,7 +17847,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryAccessKey require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryApiName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryApiName")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_api_name = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_api_name = 1;
@@ -9709,7 +17857,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryApiName require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryApiVersion")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryApiVersion")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_api_version = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_api_version = 1;
@@ -9719,7 +17867,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryApiVersion require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryCallName")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryCallName")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_call_name = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_call_name = 1;
@@ -9729,7 +17877,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryCallName require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryDate")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryDate")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_date = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_date = 1;
@@ -9739,7 +17887,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryDate require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryHeaderRaw")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryHeaderRaw")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_header_raw = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_header_raw = 1;
@@ -9749,7 +17897,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryHeaderRaw require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryHeaderSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryHeaderSize")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_header_size = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_header_size = 1;
@@ -9759,7 +17907,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryHeaderSize require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryIpAddress")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryIpAddress")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_ip_address = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_ip_address = 1;
@@ -9769,7 +17917,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryIpAddress require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryPayloadRaw")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryPayloadRaw")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_payload_raw = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_payload_raw = 1;
@@ -9779,7 +17927,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryPayloadRaw require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryPayloadSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryPayloadSize")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_payload_size = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_payload_size = 1;
@@ -9789,7 +17937,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryPayloadSize require true/false\n");
}
} else
- if ((aret = argcmp(str, "QueryUserAgent")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "QueryUserAgent")) == 0 || aret == '=' || aret == '.') {
s->is_set_query_user_agent = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->query_user_agent = 1;
@@ -9799,7 +17947,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("QueryUserAgent require true/false\n");
}
} else
- if ((aret = argcmp(str, "RequestId")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "RequestId")) == 0 || aret == '=' || aret == '.') {
s->is_set_request_id = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->request_id = 1;
@@ -9809,7 +17957,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("RequestId require true/false\n");
}
} else
- if ((aret = argcmp(str, "ResponseSize")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResponseSize")) == 0 || aret == '=' || aret == '.') {
s->is_set_response_size = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->response_size = 1;
@@ -9819,7 +17967,7 @@ int with_parser(void *v_s, char *str, char *aa, struct ptr_array *pa) {
BAD_RET("ResponseSize require true/false\n");
}
} else
- if ((aret = argcmp(str, "ResponseStatusCode")) == 0 || aret == '=') {
+ if ((aret = strcmp(str, "ResponseStatusCode")) == 0 || aret == '=' || aret == '.') {
s->is_set_response_status_code = 1;
if (!aa || !strcasecmp(aa, "true")) {
s->response_status_code = 1;
@@ -10110,7 +18258,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ClientGatewayId argument missing\n");
@@ -10121,7 +18269,7 @@ int main(int ac, char **av)
s->client_gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -10137,7 +18285,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -10148,7 +18296,7 @@ int main(int ac, char **av)
s->virtual_gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VpnConnectionId argument missing\n");
@@ -10159,7 +18307,7 @@ int main(int ac, char **av)
s->vpn_connection_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VpnOptions")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VpnOptions")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VpnOptions argument missing\n");
@@ -10261,7 +18409,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -10277,7 +18425,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Iops")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Iops")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Iops argument missing\n");
@@ -10288,7 +18436,7 @@ int main(int ac, char **av)
s->is_set_iops = 1;
s->iops = atoi(aa);
} else
- if ((aret = argcmp(next_a, "Size")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Size")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Size argument missing\n");
@@ -10299,7 +18447,7 @@ int main(int ac, char **av)
s->is_set_size = 1;
s->size = atoi(aa);
} else
- if ((aret = argcmp(next_a, "VolumeId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeId argument missing\n");
@@ -10310,7 +18458,7 @@ int main(int ac, char **av)
s->volume_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VolumeType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeType argument missing\n");
@@ -10400,7 +18548,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -10411,7 +18559,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -10427,7 +18575,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -10458,7 +18606,7 @@ int main(int ac, char **av)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(next_a, "VmTemplateId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateId argument missing\n");
@@ -10469,7 +18617,7 @@ int main(int ac, char **av)
s->vm_template_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmTemplateName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateName argument missing\n");
@@ -10559,7 +18707,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -10570,7 +18718,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -10586,7 +18734,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -10617,7 +18765,7 @@ int main(int ac, char **av)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(next_a, "VmGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupId argument missing\n");
@@ -10628,7 +18776,7 @@ int main(int ac, char **av)
s->vm_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupName argument missing\n");
@@ -10639,7 +18787,7 @@ int main(int ac, char **av)
s->vm_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmTemplateId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateId argument missing\n");
@@ -10729,7 +18877,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BlockDeviceMappings argument missing\n");
@@ -10760,7 +18908,7 @@ int main(int ac, char **av)
s->block_device_mappings_str = aa; // array ref BlockDeviceMappingVmUpdate ref
}
} else
- if ((aret = argcmp(next_a, "BsuOptimized")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BsuOptimized")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BsuOptimized argument missing\n");
@@ -10776,7 +18924,7 @@ int main(int ac, char **av)
BAD_RET("BsuOptimized require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DeletionProtection")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeletionProtection")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeletionProtection argument missing\n");
@@ -10792,7 +18940,7 @@ int main(int ac, char **av)
BAD_RET("DeletionProtection require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -10808,7 +18956,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "IsSourceDestChecked")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IsSourceDestChecked")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IsSourceDestChecked argument missing\n");
@@ -10824,7 +18972,7 @@ int main(int ac, char **av)
BAD_RET("IsSourceDestChecked require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "KeypairName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "KeypairName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "KeypairName argument missing\n");
@@ -10835,7 +18983,7 @@ int main(int ac, char **av)
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "NestedVirtualization")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NestedVirtualization")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NestedVirtualization argument missing\n");
@@ -10851,7 +18999,7 @@ int main(int ac, char **av)
BAD_RET("NestedVirtualization require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Performance")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Performance")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Performance argument missing\n");
@@ -10862,20 +19010,41 @@ int main(int ac, char **av)
s->performance = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "UserData")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserData")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserData argument missing\n");
@@ -10886,7 +19055,7 @@ int main(int ac, char **av)
s->user_data = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -10897,7 +19066,7 @@ int main(int ac, char **av)
s->vm_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmInitiatedShutdownBehavior")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmInitiatedShutdownBehavior")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmInitiatedShutdownBehavior argument missing\n");
@@ -10908,7 +19077,7 @@ int main(int ac, char **av)
s->vm_initiated_shutdown_behavior = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmType argument missing\n");
@@ -10998,7 +19167,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11014,7 +19183,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NewPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewPath argument missing\n");
@@ -11025,7 +19194,7 @@ int main(int ac, char **av)
s->new_path = aa; // string string
} else
- if ((aret = argcmp(next_a, "NewUserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewUserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewUserGroupName argument missing\n");
@@ -11036,7 +19205,7 @@ int main(int ac, char **av)
s->new_user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -11047,7 +19216,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -11137,7 +19306,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11153,7 +19322,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NewPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewPath argument missing\n");
@@ -11164,7 +19333,7 @@ int main(int ac, char **av)
s->new_path = aa; // string string
} else
- if ((aret = argcmp(next_a, "NewUserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewUserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewUserName argument missing\n");
@@ -11175,7 +19344,7 @@ int main(int ac, char **av)
s->new_user_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -11265,7 +19434,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11281,7 +19450,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "MapPublicIpOnLaunch")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MapPublicIpOnLaunch")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MapPublicIpOnLaunch argument missing\n");
@@ -11297,7 +19466,7 @@ int main(int ac, char **av)
BAD_RET("MapPublicIpOnLaunch require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -11387,7 +19556,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11403,7 +19572,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PermissionsToCreateVolume")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PermissionsToCreateVolume")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PermissionsToCreateVolume argument missing\n");
@@ -11426,7 +19595,7 @@ int main(int ac, char **av)
s->permissions_to_create_volume_str = aa;
}
} else
- if ((aret = argcmp(next_a, "SnapshotId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SnapshotId argument missing\n");
@@ -11516,7 +19685,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11532,7 +19701,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Name")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Name")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Name argument missing\n");
@@ -11543,7 +19712,7 @@ int main(int ac, char **av)
s->name = aa; // string string
} else
- if ((aret = argcmp(next_a, "NewName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewName argument missing\n");
@@ -11554,7 +19723,7 @@ int main(int ac, char **av)
s->new_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "NewPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NewPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NewPath argument missing\n");
@@ -11644,7 +19813,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11660,7 +19829,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LinkRouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LinkRouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LinkRouteTableId argument missing\n");
@@ -11671,7 +19840,7 @@ int main(int ac, char **av)
s->link_route_table_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -11761,7 +19930,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11777,7 +19946,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Enable")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Enable")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Enable argument missing\n");
@@ -11793,7 +19962,7 @@ int main(int ac, char **av)
BAD_RET("Enable require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -11804,7 +19973,7 @@ int main(int ac, char **av)
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -11894,7 +20063,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DestinationIpRange argument missing\n");
@@ -11905,7 +20074,7 @@ int main(int ac, char **av)
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -11921,7 +20090,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "GatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "GatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "GatewayId argument missing\n");
@@ -11932,7 +20101,7 @@ int main(int ac, char **av)
s->gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NatServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NatServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NatServiceId argument missing\n");
@@ -11943,7 +20112,7 @@ int main(int ac, char **av)
s->nat_service_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NetPeeringId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetPeeringId argument missing\n");
@@ -11954,7 +20123,7 @@ int main(int ac, char **av)
s->net_peering_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -11965,7 +20134,7 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -11976,7 +20145,7 @@ int main(int ac, char **av)
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -12066,7 +20235,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -12077,7 +20246,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12093,7 +20262,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LinkNic")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LinkNic")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LinkNic argument missing\n");
@@ -12116,7 +20285,7 @@ int main(int ac, char **av)
s->link_nic_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -12127,15 +20296,36 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
@@ -12219,20 +20409,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AddRouteTableIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AddRouteTableIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AddRouteTableIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "AddRouteTableIds argument missing\n");
- s->add_route_table_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AddRouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AddRouteTableIds require an index\n");
+ if (s->add_route_table_ids) {
+ for (; s->add_route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->add_route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->add_route_table_ids, "", pa);
+ SET_NEXT(s->add_route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AddRouteTableIds argument missing\n");
+ s->add_route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "AddRouteTableIds[]")) || aret == '=') {
TRY(!aa, "AddRouteTableIds[] argument missing\n");
SET_NEXT(s->add_route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12248,7 +20459,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetAccessPointId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetAccessPointId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetAccessPointId argument missing\n");
@@ -12259,15 +20470,36 @@ int main(int ac, char **av)
s->net_access_point_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "RemoveRouteTableIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RemoveRouteTableIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RemoveRouteTableIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "RemoveRouteTableIds argument missing\n");
- s->remove_route_table_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RemoveRouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RemoveRouteTableIds require an index\n");
+ if (s->remove_route_table_ids) {
+ for (; s->remove_route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->remove_route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->remove_route_table_ids, "", pa);
+ SET_NEXT(s->remove_route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RemoveRouteTableIds argument missing\n");
+ s->remove_route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RemoveRouteTableIds[]")) || aret == '=') {
TRY(!aa, "RemoveRouteTableIds[] argument missing\n");
SET_NEXT(s->remove_route_table_ids, (aa), pa);
@@ -12351,7 +20583,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DhcpOptionsSetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DhcpOptionsSetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DhcpOptionsSetId argument missing\n");
@@ -12362,7 +20594,7 @@ int main(int ac, char **av)
s->dhcp_options_set_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12378,7 +20610,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -12468,7 +20700,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AccessLog")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AccessLog")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AccessLog argument missing\n");
@@ -12491,7 +20723,7 @@ int main(int ac, char **av)
s->access_log_str = aa;
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12507,7 +20739,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "HealthCheck")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "HealthCheck")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "HealthCheck argument missing\n");
@@ -12530,7 +20762,7 @@ int main(int ac, char **av)
s->health_check_str = aa;
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -12541,7 +20773,7 @@ int main(int ac, char **av)
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "LoadBalancerPort")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerPort")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerPort argument missing\n");
@@ -12552,20 +20784,41 @@ int main(int ac, char **av)
s->is_set_load_balancer_port = 1;
s->load_balancer_port = atoi(aa);
} else
- if ((aret = argcmp(next_a, "PolicyNames")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyNames")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyNames argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "PolicyNames argument missing\n");
- s->policy_names_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PolicyNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PolicyNames require an index\n");
+ if (s->policy_names) {
+ for (; s->policy_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->policy_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->policy_names, "", pa);
+ SET_NEXT(s->policy_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PolicyNames argument missing\n");
+ s->policy_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "PolicyNames[]")) || aret == '=') {
TRY(!aa, "PolicyNames[] argument missing\n");
SET_NEXT(s->policy_names, (aa), pa);
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -12576,7 +20829,7 @@ int main(int ac, char **av)
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecuredCookies")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecuredCookies")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecuredCookies argument missing\n");
@@ -12592,20 +20845,41 @@ int main(int ac, char **av)
BAD_RET("SecuredCookies require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SecurityGroups")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroups argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroups argument missing\n");
- s->security_groups_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroups argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroups require an index\n");
+ if (s->security_groups) {
+ for (; s->security_groups[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_groups[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_groups, "", pa);
+ SET_NEXT(s->security_groups, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroups argument missing\n");
+ s->security_groups_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroups[]")) || aret == '=') {
TRY(!aa, "SecurityGroups[] argument missing\n");
SET_NEXT(s->security_groups, (aa), pa);
} else
- if ((aret = argcmp(next_a, "ServerCertificateId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ServerCertificateId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ServerCertificateId argument missing\n");
@@ -12695,7 +20969,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12711,7 +20985,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "HostPattern")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "HostPattern")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "HostPattern argument missing\n");
@@ -12722,7 +20996,7 @@ int main(int ac, char **av)
s->host_pattern = aa; // string string
} else
- if ((aret = argcmp(next_a, "ListenerRuleName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ListenerRuleName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ListenerRuleName argument missing\n");
@@ -12733,7 +21007,7 @@ int main(int ac, char **av)
s->listener_rule_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "PathPattern")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PathPattern")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PathPattern argument missing\n");
@@ -12823,7 +21097,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -12834,7 +21108,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12850,7 +21124,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageId argument missing\n");
@@ -12861,7 +21135,7 @@ int main(int ac, char **av)
s->image_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "PermissionsToLaunch")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PermissionsToLaunch")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PermissionsToLaunch argument missing\n");
@@ -12963,7 +21237,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DeleteOnVmDeletion")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeleteOnVmDeletion argument missing\n");
@@ -12979,7 +21253,7 @@ int main(int ac, char **av)
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -12995,7 +21269,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FlexibleGpuId argument missing\n");
@@ -13085,7 +21359,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DirectLinkInterfaceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkInterfaceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkInterfaceId argument missing\n");
@@ -13096,7 +21370,7 @@ int main(int ac, char **av)
s->direct_link_interface_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13112,7 +21386,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Mtu")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Mtu")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Mtu argument missing\n");
@@ -13202,7 +21476,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DedicatedGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DedicatedGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DedicatedGroupId argument missing\n");
@@ -13213,7 +21487,7 @@ int main(int ac, char **av)
s->dedicated_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13229,7 +21503,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Name")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Name")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Name argument missing\n");
@@ -13319,7 +21593,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CaId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CaId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CaId argument missing\n");
@@ -13330,7 +21604,7 @@ int main(int ac, char **av)
s->ca_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -13341,7 +21615,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13436,7 +21710,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ApiAccessRuleId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ApiAccessRuleId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ApiAccessRuleId argument missing\n");
@@ -13447,33 +21721,75 @@ int main(int ac, char **av)
s->api_access_rule_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "CaIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CaIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CaIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "CaIds argument missing\n");
- s->ca_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaIds require an index\n");
+ if (s->ca_ids) {
+ for (; s->ca_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_ids, "", pa);
+ SET_NEXT(s->ca_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaIds argument missing\n");
+ s->ca_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaIds[]")) || aret == '=') {
TRY(!aa, "CaIds[] argument missing\n");
SET_NEXT(s->ca_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Cns")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Cns")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Cns argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "Cns argument missing\n");
- s->cns_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Cns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Cns require an index\n");
+ if (s->cns) {
+ for (; s->cns[last]; ++last);
+ }
+ if (pos < last) {
+ s->cns[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cns, "", pa);
+ SET_NEXT(s->cns, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Cns argument missing\n");
+ s->cns_str = aa;
+ }
} else if (!(aret = strcmp(str, "Cns[]")) || aret == '=') {
TRY(!aa, "Cns[] argument missing\n");
SET_NEXT(s->cns, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -13484,7 +21800,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13500,15 +21816,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "IpRanges")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRanges")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRanges argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
@@ -13592,7 +21929,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13608,7 +21945,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "MaxAccessKeyExpirationSeconds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MaxAccessKeyExpirationSeconds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MaxAccessKeyExpirationSeconds argument missing\n");
@@ -13619,7 +21956,7 @@ int main(int ac, char **av)
s->is_set_max_access_key_expiration_seconds = 1;
s->max_access_key_expiration_seconds = atoi(aa);
} else
- if ((aret = argcmp(next_a, "RequireTrustedEnv")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RequireTrustedEnv")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RequireTrustedEnv argument missing\n");
@@ -13714,20 +22051,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AdditionalEmails")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AdditionalEmails")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AdditionalEmails argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "AdditionalEmails argument missing\n");
- s->additional_emails_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AdditionalEmails argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AdditionalEmails require an index\n");
+ if (s->additional_emails) {
+ for (; s->additional_emails[last]; ++last);
+ }
+ if (pos < last) {
+ s->additional_emails[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->additional_emails, "", pa);
+ SET_NEXT(s->additional_emails, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AdditionalEmails argument missing\n");
+ s->additional_emails_str = aa;
+ }
} else if (!(aret = strcmp(str, "AdditionalEmails[]")) || aret == '=') {
TRY(!aa, "AdditionalEmails[] argument missing\n");
SET_NEXT(s->additional_emails, (aa), pa);
} else
- if ((aret = argcmp(next_a, "City")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "City")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "City argument missing\n");
@@ -13738,7 +22096,7 @@ int main(int ac, char **av)
s->city = aa; // string string
} else
- if ((aret = argcmp(next_a, "CompanyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CompanyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CompanyName argument missing\n");
@@ -13749,7 +22107,7 @@ int main(int ac, char **av)
s->company_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "Country")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Country")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Country argument missing\n");
@@ -13760,7 +22118,7 @@ int main(int ac, char **av)
s->country = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13776,7 +22134,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Email")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Email")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Email argument missing\n");
@@ -13787,7 +22145,7 @@ int main(int ac, char **av)
s->email = aa; // string string
} else
- if ((aret = argcmp(next_a, "FirstName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstName argument missing\n");
@@ -13798,7 +22156,7 @@ int main(int ac, char **av)
s->first_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "JobTitle")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "JobTitle")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "JobTitle argument missing\n");
@@ -13809,7 +22167,7 @@ int main(int ac, char **av)
s->job_title = aa; // string string
} else
- if ((aret = argcmp(next_a, "LastName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LastName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LastName argument missing\n");
@@ -13820,7 +22178,7 @@ int main(int ac, char **av)
s->last_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "MobileNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MobileNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MobileNumber argument missing\n");
@@ -13831,7 +22189,7 @@ int main(int ac, char **av)
s->mobile_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "PhoneNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PhoneNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PhoneNumber argument missing\n");
@@ -13842,7 +22200,7 @@ int main(int ac, char **av)
s->phone_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "StateProvince")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "StateProvince")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "StateProvince argument missing\n");
@@ -13853,7 +22211,7 @@ int main(int ac, char **av)
s->state_province = aa; // string string
} else
- if ((aret = argcmp(next_a, "VatNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VatNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VatNumber argument missing\n");
@@ -13864,7 +22222,7 @@ int main(int ac, char **av)
s->vat_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "ZipCode")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ZipCode")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ZipCode argument missing\n");
@@ -13954,7 +22312,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AccessKeyId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AccessKeyId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AccessKeyId argument missing\n");
@@ -13965,7 +22323,7 @@ int main(int ac, char **av)
s->access_key_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -13981,7 +22339,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ExpirationDate")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ExpirationDate argument missing\n");
@@ -13992,7 +22350,7 @@ int main(int ac, char **av)
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(next_a, "State")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "State")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "State argument missing\n");
@@ -14003,7 +22361,7 @@ int main(int ac, char **av)
s->state = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -14093,7 +22451,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14109,7 +22467,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ForceUnlink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ForceUnlink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ForceUnlink argument missing\n");
@@ -14125,7 +22483,7 @@ int main(int ac, char **av)
BAD_RET("ForceUnlink require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VolumeId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeId argument missing\n");
@@ -14215,7 +22573,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14231,7 +22589,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -14242,7 +22600,7 @@ int main(int ac, char **av)
s->net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -14332,7 +22690,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14348,7 +22706,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LinkRouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LinkRouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LinkRouteTableId argument missing\n");
@@ -14438,7 +22796,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14454,7 +22812,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LinkPublicIpId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LinkPublicIpId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LinkPublicIpId argument missing\n");
@@ -14465,7 +22823,7 @@ int main(int ac, char **av)
s->link_public_ip_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -14555,7 +22913,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14571,7 +22929,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -14582,15 +22940,36 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "PrivateIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateIps argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "PrivateIps argument missing\n");
- s->private_ips_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIps require an index\n");
+ if (s->private_ips) {
+ for (; s->private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips, "", pa);
+ SET_NEXT(s->private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIps argument missing\n");
+ s->private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIps[] argument missing\n");
SET_NEXT(s->private_ips, (aa), pa);
@@ -14674,7 +23053,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14690,7 +23069,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -14701,7 +23080,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -14791,7 +23170,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14807,7 +23186,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LinkNicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LinkNicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LinkNicId argument missing\n");
@@ -14897,7 +23276,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -14913,7 +23292,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -14924,7 +23303,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -15014,33 +23393,75 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BackendIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendIps argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendIps argument missing\n");
- s->backend_ips_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendIps require an index\n");
+ if (s->backend_ips) {
+ for (; s->backend_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_ips, "", pa);
+ SET_NEXT(s->backend_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendIps argument missing\n");
+ s->backend_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendIps[]")) || aret == '=') {
TRY(!aa, "BackendIps[] argument missing\n");
SET_NEXT(s->backend_ips, (aa), pa);
} else
- if ((aret = argcmp(next_a, "BackendVmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendVmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15056,7 +23477,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -15146,7 +23567,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15162,7 +23583,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "InternetServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "InternetServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "InternetServiceId argument missing\n");
@@ -15173,7 +23594,7 @@ int main(int ac, char **av)
s->internet_service_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -15263,7 +23684,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15279,7 +23700,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FlexibleGpuId argument missing\n");
@@ -15369,7 +23790,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15385,7 +23806,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ForceStop")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ForceStop")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ForceStop argument missing\n");
@@ -15401,15 +23822,36 @@ int main(int ac, char **av)
BAD_RET("ForceStop require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -15493,7 +23935,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15509,15 +23951,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -15601,7 +24064,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -15612,7 +24075,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "VersionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VersionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VersionId argument missing\n");
@@ -15702,7 +24165,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15718,7 +24181,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmAddition")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmAddition")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmAddition argument missing\n");
@@ -15729,7 +24192,7 @@ int main(int ac, char **av)
s->is_set_vm_addition = 1;
s->vm_addition = atoi(aa);
} else
- if ((aret = argcmp(next_a, "VmGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupId argument missing\n");
@@ -15819,7 +24282,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15835,7 +24298,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupId argument missing\n");
@@ -15846,7 +24309,7 @@ int main(int ac, char **av)
s->vm_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmSubtraction")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmSubtraction")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmSubtraction argument missing\n");
@@ -15936,7 +24399,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -15952,7 +24415,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -15963,7 +24426,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -15974,7 +24437,7 @@ int main(int ac, char **av)
s->user_group_path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -15985,7 +24448,7 @@ int main(int ac, char **av)
s->user_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserPath argument missing\n");
@@ -16075,7 +24538,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16091,7 +24554,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetPeeringId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetPeeringId argument missing\n");
@@ -16181,20 +24644,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BackendVmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendVmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16210,7 +24694,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -16300,7 +24784,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16316,15 +24800,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -16408,7 +24913,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16424,7 +24929,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -16447,7 +24952,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -16458,7 +24963,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -16548,7 +25053,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16564,7 +25069,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -16587,7 +25092,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -16598,7 +25103,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -16688,7 +25193,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AllVms")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AllVms")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AllVms argument missing\n");
@@ -16704,7 +25209,7 @@ int main(int ac, char **av)
BAD_RET("AllVms require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16720,7 +25225,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -16743,7 +25248,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -16754,7 +25259,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -16844,20 +25349,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BackendVmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendVmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16873,7 +25399,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -16963,7 +25489,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -16979,7 +25505,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17002,7 +25528,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -17013,7 +25539,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -17103,7 +25629,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17119,7 +25645,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17142,7 +25668,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -17153,7 +25679,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -17243,7 +25769,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17259,7 +25785,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17361,7 +25887,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17377,7 +25903,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17479,7 +26005,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17495,7 +26021,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17518,7 +26044,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -17529,7 +26055,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -17619,7 +26145,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17714,7 +26240,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17730,7 +26256,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -17741,7 +26267,7 @@ int main(int ac, char **av)
s->user_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserPath argument missing\n");
@@ -17831,7 +26357,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17847,7 +26373,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -17870,7 +26396,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -17881,7 +26407,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -17971,7 +26497,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -17987,7 +26513,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -17998,7 +26524,7 @@ int main(int ac, char **av)
s->policy_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -18009,7 +26535,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -18099,7 +26625,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18115,7 +26641,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -18126,7 +26652,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -18137,7 +26663,7 @@ int main(int ac, char **av)
s->is_set_results_per_page = 1;
s->results_per_page = atoi(aa);
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -18148,7 +26674,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -18238,7 +26764,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18254,7 +26780,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -18265,7 +26791,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -18355,7 +26881,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18371,7 +26897,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -18394,7 +26920,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -18405,7 +26931,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -18495,7 +27021,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18511,7 +27037,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -18534,7 +27060,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -18545,7 +27071,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -18635,7 +27161,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18651,7 +27177,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -18674,7 +27200,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -18685,7 +27211,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -18775,7 +27301,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18791,7 +27317,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -18814,7 +27340,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -18825,7 +27351,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -18915,7 +27441,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -18931,7 +27457,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -18954,7 +27480,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -18965,7 +27491,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -19055,7 +27581,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19071,7 +27597,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -19173,7 +27699,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19189,7 +27715,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -19212,7 +27738,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -19223,7 +27749,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -19313,7 +27839,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AccessKeyId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AccessKeyId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AccessKeyId argument missing\n");
@@ -19324,7 +27850,7 @@ int main(int ac, char **av)
s->access_key_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19419,7 +27945,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19435,7 +27961,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -19458,7 +27984,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -19469,7 +27995,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -19559,7 +28085,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19654,7 +28180,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19670,7 +28196,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -19693,7 +28219,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -19704,7 +28230,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -19794,7 +28320,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19810,7 +28336,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -19833,7 +28359,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -19844,7 +28370,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -19934,7 +28460,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -19950,7 +28476,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -19961,7 +28487,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -20051,7 +28577,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -20146,7 +28672,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -20162,7 +28688,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -20185,7 +28711,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -20196,7 +28722,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -20286,7 +28812,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -20297,7 +28823,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -20308,7 +28834,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -20398,7 +28924,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -20409,7 +28935,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "VersionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VersionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VersionId argument missing\n");
@@ -20499,7 +29025,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -20589,7 +29115,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -20605,7 +29131,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -20628,7 +29154,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -20639,7 +29165,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -20729,7 +29255,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -20745,7 +29271,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -20847,7 +29373,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -20863,7 +29389,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -20886,7 +29412,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -20897,7 +29423,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -20987,7 +29513,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21003,7 +29529,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21026,7 +29552,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -21037,7 +29563,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21127,7 +29653,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21143,7 +29669,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21166,7 +29692,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -21177,7 +29703,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21267,7 +29793,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21283,7 +29809,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21306,7 +29832,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -21317,7 +29843,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21407,7 +29933,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21423,7 +29949,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21446,7 +29972,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -21457,7 +29983,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21547,7 +30073,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21563,7 +30089,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21586,7 +30112,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -21597,7 +30123,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21608,7 +30134,7 @@ int main(int ac, char **av)
s->is_set_results_per_page = 1;
s->results_per_page = atoi(aa);
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -21698,7 +30224,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21714,7 +30240,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -21725,7 +30251,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -21815,7 +30341,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21831,7 +30357,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -21933,7 +30459,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -21949,15 +30475,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerNames argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "LoadBalancerNames argument missing\n");
- s->load_balancer_names_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LoadBalancerNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LoadBalancerNames require an index\n");
+ if (s->load_balancer_names) {
+ for (; s->load_balancer_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->load_balancer_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->load_balancer_names, "", pa);
+ SET_NEXT(s->load_balancer_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LoadBalancerNames argument missing\n");
+ s->load_balancer_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LoadBalancerNames[]")) || aret == '=') {
TRY(!aa, "LoadBalancerNames[] argument missing\n");
SET_NEXT(s->load_balancer_names, (aa), pa);
@@ -22041,7 +30588,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22057,7 +30604,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22159,7 +30706,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22175,7 +30722,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22198,7 +30745,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "FirstItem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstItem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstItem argument missing\n");
@@ -22209,7 +30756,7 @@ int main(int ac, char **av)
s->is_set_first_item = 1;
s->first_item = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -22220,7 +30767,7 @@ int main(int ac, char **av)
s->is_set_results_per_page = 1;
s->results_per_page = atoi(aa);
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -22310,7 +30857,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22326,7 +30873,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22349,7 +30896,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -22360,7 +30907,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -22450,7 +30997,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22466,7 +31013,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22489,7 +31036,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -22500,7 +31047,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -22590,7 +31137,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22606,7 +31153,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22629,7 +31176,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -22640,7 +31187,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -22730,7 +31277,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22746,7 +31293,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22769,7 +31316,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -22780,7 +31327,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -22870,7 +31417,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -22886,7 +31433,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -22988,7 +31535,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23083,7 +31630,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23099,7 +31646,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -23122,7 +31669,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -23133,7 +31680,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -23223,7 +31770,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23239,7 +31786,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -23262,7 +31809,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -23273,7 +31820,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -23363,7 +31910,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23379,7 +31926,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -23402,7 +31949,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -23413,7 +31960,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -23503,7 +32050,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23519,7 +32066,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -23542,7 +32089,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -23553,7 +32100,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -23643,7 +32190,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23659,7 +32206,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FromDate")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FromDate")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FromDate argument missing\n");
@@ -23670,7 +32217,7 @@ int main(int ac, char **av)
s->from_date = aa; // string string
} else
- if ((aret = argcmp(next_a, "Overall")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Overall")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Overall argument missing\n");
@@ -23686,7 +32233,7 @@ int main(int ac, char **av)
BAD_RET("Overall require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ShowPrice")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ShowPrice")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ShowPrice argument missing\n");
@@ -23702,7 +32249,7 @@ int main(int ac, char **av)
BAD_RET("ShowPrice require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ToDate")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ToDate")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ToDate argument missing\n");
@@ -23792,7 +32339,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23808,7 +32355,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -23898,7 +32445,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -23914,7 +32461,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -23937,7 +32484,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -23948,7 +32495,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -24038,7 +32585,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24054,7 +32601,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -24156,7 +32703,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24251,7 +32798,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24267,7 +32814,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -24369,7 +32916,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24385,7 +32932,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -24408,7 +32955,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "NextPageToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NextPageToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NextPageToken argument missing\n");
@@ -24419,7 +32966,7 @@ int main(int ac, char **av)
s->next_page_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResultsPerPage")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResultsPerPage argument missing\n");
@@ -24430,7 +32977,7 @@ int main(int ac, char **av)
s->is_set_results_per_page = 1;
s->results_per_page = atoi(aa);
} else
- if ((aret = argcmp(next_a, "With")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "With")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "With argument missing\n");
@@ -24532,7 +33079,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24548,7 +33095,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -24650,7 +33197,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24745,7 +33292,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24761,7 +33308,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -24851,7 +33398,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24946,7 +33493,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -24962,7 +33509,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Filters")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Filters")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Filters argument missing\n");
@@ -24985,7 +33532,7 @@ int main(int ac, char **av)
s->filters_str = aa;
}
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -25075,7 +33622,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25091,7 +33638,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyDocument")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyDocument")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyDocument argument missing\n");
@@ -25102,7 +33649,7 @@ int main(int ac, char **av)
s->policy_document = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -25113,7 +33660,7 @@ int main(int ac, char **av)
s->policy_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -25124,7 +33671,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -25214,7 +33761,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DeviceName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeviceName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeviceName argument missing\n");
@@ -25225,7 +33772,7 @@ int main(int ac, char **av)
s->device_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25241,7 +33788,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -25252,7 +33799,7 @@ int main(int ac, char **av)
s->vm_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VolumeId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeId argument missing\n");
@@ -25342,7 +33889,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25358,7 +33905,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -25369,7 +33916,7 @@ int main(int ac, char **av)
s->net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -25459,7 +34006,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25475,7 +34022,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -25486,7 +34033,7 @@ int main(int ac, char **av)
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -25576,7 +34123,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AllowRelink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AllowRelink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AllowRelink argument missing\n");
@@ -25592,7 +34139,7 @@ int main(int ac, char **av)
BAD_RET("AllowRelink require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25608,7 +34155,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -25619,7 +34166,7 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "PrivateIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateIp argument missing\n");
@@ -25630,7 +34177,7 @@ int main(int ac, char **av)
s->private_ip = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -25641,7 +34188,7 @@ int main(int ac, char **av)
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicIpId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIpId argument missing\n");
@@ -25652,7 +34199,7 @@ int main(int ac, char **av)
s->public_ip_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -25742,7 +34289,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AllowRelink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AllowRelink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AllowRelink argument missing\n");
@@ -25758,7 +34305,7 @@ int main(int ac, char **av)
BAD_RET("AllowRelink require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25774,7 +34321,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -25785,20 +34332,41 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "PrivateIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateIps argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "PrivateIps argument missing\n");
- s->private_ips_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIps require an index\n");
+ if (s->private_ips) {
+ for (; s->private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips, "", pa);
+ SET_NEXT(s->private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIps argument missing\n");
+ s->private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIps[] argument missing\n");
SET_NEXT(s->private_ips, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SecondaryPrivateIpCount")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecondaryPrivateIpCount")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecondaryPrivateIpCount argument missing\n");
@@ -25888,7 +34456,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -25904,7 +34472,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -25915,7 +34483,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -26005,7 +34573,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DeviceNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeviceNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeviceNumber argument missing\n");
@@ -26016,7 +34584,7 @@ int main(int ac, char **av)
s->is_set_device_number = 1;
s->device_number = atoi(aa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26032,7 +34600,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -26043,7 +34611,7 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -26133,7 +34701,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26149,7 +34717,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -26160,7 +34728,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -26250,33 +34818,75 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BackendIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendIps argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendIps argument missing\n");
- s->backend_ips_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendIps require an index\n");
+ if (s->backend_ips) {
+ for (; s->backend_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_ips, "", pa);
+ SET_NEXT(s->backend_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendIps argument missing\n");
+ s->backend_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendIps[]")) || aret == '=') {
TRY(!aa, "BackendIps[] argument missing\n");
SET_NEXT(s->backend_ips, (aa), pa);
} else
- if ((aret = argcmp(next_a, "BackendVmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendVmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26292,7 +34902,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -26382,7 +34992,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26398,7 +35008,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "InternetServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "InternetServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "InternetServiceId argument missing\n");
@@ -26409,7 +35019,7 @@ int main(int ac, char **av)
s->internet_service_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -26499,7 +35109,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26515,7 +35125,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FlexibleGpuId argument missing\n");
@@ -26526,7 +35136,7 @@ int main(int ac, char **av)
s->flexible_gpu_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -26616,20 +35226,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BackendVmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BackendVmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BackendVmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "BackendVmIds argument missing\n");
- s->backend_vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "BackendVmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "BackendVmIds require an index\n");
+ if (s->backend_vm_ids) {
+ for (; s->backend_vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->backend_vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->backend_vm_ids, "", pa);
+ SET_NEXT(s->backend_vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "BackendVmIds argument missing\n");
+ s->backend_vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "BackendVmIds[]")) || aret == '=') {
TRY(!aa, "BackendVmIds[] argument missing\n");
SET_NEXT(s->backend_vm_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26645,7 +35276,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -26735,7 +35366,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DestinationIpRange argument missing\n");
@@ -26746,7 +35377,7 @@ int main(int ac, char **av)
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26762,7 +35393,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VpnConnectionId argument missing\n");
@@ -26852,7 +35483,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26868,7 +35499,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VpnConnectionId argument missing\n");
@@ -26958,7 +35589,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -26974,7 +35605,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VolumeId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeId argument missing\n");
@@ -27064,7 +35695,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27080,15 +35711,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -27172,7 +35824,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27188,7 +35840,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmTemplateId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateId argument missing\n");
@@ -27278,7 +35930,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27294,7 +35946,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VmGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupId argument missing\n");
@@ -27384,7 +36036,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27400,7 +36052,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -27490,7 +36142,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27506,7 +36158,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -27517,7 +36169,7 @@ int main(int ac, char **av)
s->policy_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -27528,7 +36180,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -27618,7 +36270,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27634,7 +36286,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Force")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Force")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Force argument missing\n");
@@ -27650,7 +36302,7 @@ int main(int ac, char **av)
BAD_RET("Force require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -27661,7 +36313,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -27751,7 +36403,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27767,7 +36419,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -27857,7 +36509,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -27873,20 +36525,41 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ResourceIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResourceIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResourceIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "ResourceIds argument missing\n");
- s->resource_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ResourceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ResourceIds require an index\n");
+ if (s->resource_ids) {
+ for (; s->resource_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->resource_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->resource_ids, "", pa);
+ SET_NEXT(s->resource_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ResourceIds argument missing\n");
+ s->resource_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ResourceIds[]")) || aret == '=') {
TRY(!aa, "ResourceIds[] argument missing\n");
SET_NEXT(s->resource_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -27996,7 +36669,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28012,7 +36685,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -28102,7 +36775,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28118,7 +36791,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SnapshotId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SnapshotId argument missing\n");
@@ -28208,7 +36881,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28224,7 +36897,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Name")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Name")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Name argument missing\n");
@@ -28314,7 +36987,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28330,7 +37003,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Flow")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Flow")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Flow argument missing\n");
@@ -28341,7 +37014,7 @@ int main(int ac, char **av)
s->flow = aa; // string string
} else
- if ((aret = argcmp(next_a, "FromPortRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FromPortRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FromPortRange argument missing\n");
@@ -28352,7 +37025,7 @@ int main(int ac, char **av)
s->is_set_from_port_range = 1;
s->from_port_range = atoi(aa);
} else
- if ((aret = argcmp(next_a, "IpProtocol")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpProtocol")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpProtocol argument missing\n");
@@ -28363,7 +37036,7 @@ int main(int ac, char **av)
s->ip_protocol = aa; // string string
} else
- if ((aret = argcmp(next_a, "IpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRange argument missing\n");
@@ -28374,7 +37047,7 @@ int main(int ac, char **av)
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "Rules")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Rules")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Rules argument missing\n");
@@ -28405,7 +37078,7 @@ int main(int ac, char **av)
s->rules_str = aa; // array ref SecurityGroupRule ref
}
} else
- if ((aret = argcmp(next_a, "SecurityGroupAccountIdToUnlink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupAccountIdToUnlink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupAccountIdToUnlink argument missing\n");
@@ -28416,7 +37089,7 @@ int main(int ac, char **av)
s->security_group_account_id_to_unlink = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupId argument missing\n");
@@ -28427,7 +37100,7 @@ int main(int ac, char **av)
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupNameToUnlink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupNameToUnlink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupNameToUnlink argument missing\n");
@@ -28438,7 +37111,7 @@ int main(int ac, char **av)
s->security_group_name_to_unlink = aa; // string string
} else
- if ((aret = argcmp(next_a, "ToPortRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ToPortRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ToPortRange argument missing\n");
@@ -28528,7 +37201,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28544,7 +37217,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupId argument missing\n");
@@ -28555,7 +37228,7 @@ int main(int ac, char **av)
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupName argument missing\n");
@@ -28645,7 +37318,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28661,7 +37334,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -28751,7 +37424,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DestinationIpRange argument missing\n");
@@ -28762,7 +37435,7 @@ int main(int ac, char **av)
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28778,7 +37451,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -28868,7 +37541,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -28884,7 +37557,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -28895,7 +37568,7 @@ int main(int ac, char **av)
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicIpId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIpId argument missing\n");
@@ -28985,7 +37658,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -28996,7 +37669,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "VersionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VersionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VersionId argument missing\n");
@@ -29086,7 +37759,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29102,7 +37775,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -29192,7 +37865,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29208,7 +37881,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -29298,7 +37971,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29314,7 +37987,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetPeeringId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetPeeringId argument missing\n");
@@ -29404,7 +38077,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29420,7 +38093,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetAccessPointId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetAccessPointId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetAccessPointId argument missing\n");
@@ -29510,7 +38183,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29526,7 +38199,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -29616,7 +38289,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29632,7 +38305,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NatServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NatServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NatServiceId argument missing\n");
@@ -29722,7 +38395,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29738,20 +38411,41 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerNames argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "LoadBalancerNames argument missing\n");
- s->load_balancer_names_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LoadBalancerNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LoadBalancerNames require an index\n");
+ if (s->load_balancer_names) {
+ for (; s->load_balancer_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->load_balancer_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->load_balancer_names, "", pa);
+ SET_NEXT(s->load_balancer_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LoadBalancerNames argument missing\n");
+ s->load_balancer_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LoadBalancerNames[]")) || aret == '=') {
TRY(!aa, "LoadBalancerNames[] argument missing\n");
SET_NEXT(s->load_balancer_names, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -29861,7 +38555,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29877,7 +38571,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -29888,7 +38582,7 @@ int main(int ac, char **av)
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -29978,7 +38672,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -29994,7 +38688,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -30005,15 +38699,36 @@ int main(int ac, char **av)
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "LoadBalancerPorts")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerPorts")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerPorts argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "LoadBalancerPorts argument missing\n");
- s->load_balancer_ports_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LoadBalancerPorts argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LoadBalancerPorts require an index\n");
+ if (s->load_balancer_ports) {
+ for (; s->load_balancer_ports[last]; ++last);
+ }
+ if (pos < last) {
+ s->load_balancer_ports[pos] = atoi(aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->load_balancer_ports, 0, pa);
+ SET_NEXT(s->load_balancer_ports, atoi(aa), pa);
+ }
+ } else {
+ TRY(!aa, "LoadBalancerPorts argument missing\n");
+ s->load_balancer_ports_str = aa;
+ }
} else if (!(aret = strcmp(str, "LoadBalancerPorts[]")) || aret == '=') {
TRY(!aa, "LoadBalancerPorts[] argument missing\n");
SET_NEXT(s->load_balancer_ports, atoi(aa), pa);
@@ -30097,7 +38812,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30113,7 +38828,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -30203,7 +38918,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30219,7 +38934,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ListenerRuleName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ListenerRuleName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ListenerRuleName argument missing\n");
@@ -30309,7 +39024,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30325,7 +39040,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "KeypairName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "KeypairName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "KeypairName argument missing\n");
@@ -30415,7 +39130,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30431,7 +39146,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "InternetServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "InternetServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "InternetServiceId argument missing\n");
@@ -30521,7 +39236,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30537,7 +39252,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageId argument missing\n");
@@ -30627,7 +39342,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30643,7 +39358,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FlexibleGpuId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FlexibleGpuId argument missing\n");
@@ -30733,7 +39448,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30749,7 +39464,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ExportTaskId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ExportTaskId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ExportTaskId argument missing\n");
@@ -30839,7 +39554,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DirectLinkInterfaceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkInterfaceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkInterfaceId argument missing\n");
@@ -30850,7 +39565,7 @@ int main(int ac, char **av)
s->direct_link_interface_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -30945,7 +39660,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DirectLinkId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkId argument missing\n");
@@ -30956,7 +39671,7 @@ int main(int ac, char **av)
s->direct_link_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31051,7 +39766,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DhcpOptionsSetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DhcpOptionsSetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DhcpOptionsSetId argument missing\n");
@@ -31062,7 +39777,7 @@ int main(int ac, char **av)
s->dhcp_options_set_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31157,7 +39872,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DedicatedGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DedicatedGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DedicatedGroupId argument missing\n");
@@ -31168,7 +39883,7 @@ int main(int ac, char **av)
s->dedicated_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31184,7 +39899,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Force")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Force")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Force argument missing\n");
@@ -31279,7 +39994,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ClientGatewayId argument missing\n");
@@ -31290,7 +40005,7 @@ int main(int ac, char **av)
s->client_gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31385,7 +40100,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CaId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CaId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CaId argument missing\n");
@@ -31396,7 +40111,7 @@ int main(int ac, char **av)
s->ca_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31491,7 +40206,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ApiAccessRuleId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ApiAccessRuleId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ApiAccessRuleId argument missing\n");
@@ -31502,7 +40217,7 @@ int main(int ac, char **av)
s->api_access_rule_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31597,7 +40312,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AccessKeyId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AccessKeyId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AccessKeyId argument missing\n");
@@ -31608,7 +40323,7 @@ int main(int ac, char **av)
s->access_key_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31624,7 +40339,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -31714,7 +40429,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DestinationIpRange argument missing\n");
@@ -31725,7 +40440,7 @@ int main(int ac, char **av)
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31741,7 +40456,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VpnConnectionId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VpnConnectionId argument missing\n");
@@ -31831,7 +40546,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ClientGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ClientGatewayId argument missing\n");
@@ -31842,7 +40557,7 @@ int main(int ac, char **av)
s->client_gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "ConnectionType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ConnectionType argument missing\n");
@@ -31853,7 +40568,7 @@ int main(int ac, char **av)
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31869,7 +40584,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "StaticRoutesOnly")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "StaticRoutesOnly")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "StaticRoutesOnly argument missing\n");
@@ -31885,7 +40600,7 @@ int main(int ac, char **av)
BAD_RET("StaticRoutesOnly require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VirtualGatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VirtualGatewayId argument missing\n");
@@ -31975,7 +40690,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -31991,7 +40706,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Iops")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Iops")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Iops argument missing\n");
@@ -32002,7 +40717,7 @@ int main(int ac, char **av)
s->is_set_iops = 1;
s->iops = atoi(aa);
} else
- if ((aret = argcmp(next_a, "Size")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Size")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Size argument missing\n");
@@ -32013,7 +40728,7 @@ int main(int ac, char **av)
s->is_set_size = 1;
s->size = atoi(aa);
} else
- if ((aret = argcmp(next_a, "SnapshotId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SnapshotId argument missing\n");
@@ -32024,7 +40739,7 @@ int main(int ac, char **av)
s->snapshot_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubregionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubregionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubregionName argument missing\n");
@@ -32035,7 +40750,7 @@ int main(int ac, char **av)
s->subregion_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "VolumeType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeType argument missing\n");
@@ -32125,7 +40840,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BlockDeviceMappings argument missing\n");
@@ -32156,7 +40871,7 @@ int main(int ac, char **av)
s->block_device_mappings_str = aa; // array ref BlockDeviceMappingVmCreation ref
}
} else
- if ((aret = argcmp(next_a, "BootOnCreation")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BootOnCreation")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BootOnCreation argument missing\n");
@@ -32172,7 +40887,7 @@ int main(int ac, char **av)
BAD_RET("BootOnCreation require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "BsuOptimized")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BsuOptimized")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BsuOptimized argument missing\n");
@@ -32188,7 +40903,7 @@ int main(int ac, char **av)
BAD_RET("BsuOptimized require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ClientToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ClientToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ClientToken argument missing\n");
@@ -32199,7 +40914,7 @@ int main(int ac, char **av)
s->client_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "DeletionProtection")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeletionProtection")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeletionProtection argument missing\n");
@@ -32215,7 +40930,7 @@ int main(int ac, char **av)
BAD_RET("DeletionProtection require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -32231,7 +40946,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageId argument missing\n");
@@ -32242,7 +40957,7 @@ int main(int ac, char **av)
s->image_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "KeypairName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "KeypairName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "KeypairName argument missing\n");
@@ -32253,7 +40968,7 @@ int main(int ac, char **av)
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "MaxVmsCount")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MaxVmsCount")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MaxVmsCount argument missing\n");
@@ -32264,7 +40979,7 @@ int main(int ac, char **av)
s->is_set_max_vms_count = 1;
s->max_vms_count = atoi(aa);
} else
- if ((aret = argcmp(next_a, "MinVmsCount")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MinVmsCount")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MinVmsCount argument missing\n");
@@ -32275,7 +40990,7 @@ int main(int ac, char **av)
s->is_set_min_vms_count = 1;
s->min_vms_count = atoi(aa);
} else
- if ((aret = argcmp(next_a, "NestedVirtualization")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NestedVirtualization")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NestedVirtualization argument missing\n");
@@ -32291,7 +41006,7 @@ int main(int ac, char **av)
BAD_RET("NestedVirtualization require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Nics")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Nics")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Nics argument missing\n");
@@ -32322,7 +41037,7 @@ int main(int ac, char **av)
s->nics_str = aa; // array ref NicForVmCreation ref
}
} else
- if ((aret = argcmp(next_a, "Performance")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Performance")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Performance argument missing\n");
@@ -32333,7 +41048,7 @@ int main(int ac, char **av)
s->performance = aa; // string string
} else
- if ((aret = argcmp(next_a, "Placement")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Placement")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Placement argument missing\n");
@@ -32356,46 +41071,109 @@ int main(int ac, char **av)
s->placement_str = aa;
}
} else
- if ((aret = argcmp(next_a, "PrivateIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateIps argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "PrivateIps argument missing\n");
- s->private_ips_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "PrivateIps argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "PrivateIps require an index\n");
+ if (s->private_ips) {
+ for (; s->private_ips[last]; ++last);
+ }
+ if (pos < last) {
+ s->private_ips[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->private_ips, "", pa);
+ SET_NEXT(s->private_ips, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "PrivateIps argument missing\n");
+ s->private_ips_str = aa;
+ }
} else if (!(aret = strcmp(str, "PrivateIps[]")) || aret == '=') {
TRY(!aa, "PrivateIps[] argument missing\n");
SET_NEXT(s->private_ips, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SecurityGroups")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroups argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroups argument missing\n");
- s->security_groups_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroups argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroups require an index\n");
+ if (s->security_groups) {
+ for (; s->security_groups[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_groups[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_groups, "", pa);
+ SET_NEXT(s->security_groups, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroups argument missing\n");
+ s->security_groups_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroups[]")) || aret == '=') {
TRY(!aa, "SecurityGroups[] argument missing\n");
SET_NEXT(s->security_groups, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -32406,7 +41184,7 @@ int main(int ac, char **av)
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserData")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserData")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserData argument missing\n");
@@ -32417,7 +41195,7 @@ int main(int ac, char **av)
s->user_data = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmInitiatedShutdownBehavior")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmInitiatedShutdownBehavior")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmInitiatedShutdownBehavior argument missing\n");
@@ -32428,7 +41206,7 @@ int main(int ac, char **av)
s->vm_initiated_shutdown_behavior = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmType argument missing\n");
@@ -32518,7 +41296,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CpuCores")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CpuCores")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CpuCores argument missing\n");
@@ -32529,7 +41307,7 @@ int main(int ac, char **av)
s->is_set_cpu_cores = 1;
s->cpu_cores = atoi(aa);
} else
- if ((aret = argcmp(next_a, "CpuGeneration")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CpuGeneration")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CpuGeneration argument missing\n");
@@ -32540,7 +41318,7 @@ int main(int ac, char **av)
s->cpu_generation = aa; // string string
} else
- if ((aret = argcmp(next_a, "CpuPerformance")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CpuPerformance")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CpuPerformance argument missing\n");
@@ -32551,7 +41329,7 @@ int main(int ac, char **av)
s->cpu_performance = aa; // string string
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -32562,7 +41340,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -32578,7 +41356,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageId argument missing\n");
@@ -32589,7 +41367,7 @@ int main(int ac, char **av)
s->image_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "KeypairName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "KeypairName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "KeypairName argument missing\n");
@@ -32600,7 +41378,7 @@ int main(int ac, char **av)
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "Ram")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Ram")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Ram argument missing\n");
@@ -32611,7 +41389,7 @@ int main(int ac, char **av)
s->is_set_ram = 1;
s->ram = atoi(aa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -32642,7 +41420,7 @@ int main(int ac, char **av)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(next_a, "VmTemplateName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateName argument missing\n");
@@ -32732,7 +41510,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -32743,7 +41521,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -32759,7 +41537,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PositioningStrategy")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PositioningStrategy")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PositioningStrategy argument missing\n");
@@ -32770,20 +41548,41 @@ int main(int ac, char **av)
s->positioning_strategy = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -32794,7 +41593,7 @@ int main(int ac, char **av)
s->subnet_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -32825,7 +41624,7 @@ int main(int ac, char **av)
s->tags_str = aa; // array ref ResourceTag ref
}
} else
- if ((aret = argcmp(next_a, "VmCount")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmCount")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmCount argument missing\n");
@@ -32836,7 +41635,7 @@ int main(int ac, char **av)
s->is_set_vm_count = 1;
s->vm_count = atoi(aa);
} else
- if ((aret = argcmp(next_a, "VmGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmGroupName argument missing\n");
@@ -32847,7 +41646,7 @@ int main(int ac, char **av)
s->vm_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmTemplateId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmTemplateId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmTemplateId argument missing\n");
@@ -32937,7 +41736,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ConnectionType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ConnectionType argument missing\n");
@@ -32948,7 +41747,7 @@ int main(int ac, char **av)
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33043,7 +41842,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33059,7 +41858,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -33070,7 +41869,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -33160,7 +41959,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33176,7 +41975,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -33187,7 +41986,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -33277,7 +42076,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33293,20 +42092,41 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ResourceIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ResourceIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ResourceIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "ResourceIds argument missing\n");
- s->resource_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ResourceIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ResourceIds require an index\n");
+ if (s->resource_ids) {
+ for (; s->resource_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->resource_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->resource_ids, "", pa);
+ SET_NEXT(s->resource_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ResourceIds argument missing\n");
+ s->resource_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "ResourceIds[]")) || aret == '=') {
TRY(!aa, "ResourceIds[] argument missing\n");
SET_NEXT(s->resource_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -33416,7 +42236,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33432,7 +42252,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "IpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRange argument missing\n");
@@ -33443,7 +42263,7 @@ int main(int ac, char **av)
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -33454,7 +42274,7 @@ int main(int ac, char **av)
s->net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubregionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubregionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubregionName argument missing\n");
@@ -33544,7 +42364,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33560,7 +42380,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "OsuExport")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "OsuExport")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "OsuExport argument missing\n");
@@ -33583,7 +42403,7 @@ int main(int ac, char **av)
s->osu_export_str = aa;
}
} else
- if ((aret = argcmp(next_a, "SnapshotId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SnapshotId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SnapshotId argument missing\n");
@@ -33673,7 +42493,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -33684,7 +42504,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33700,7 +42520,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FileLocation")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FileLocation")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FileLocation argument missing\n");
@@ -33711,7 +42531,7 @@ int main(int ac, char **av)
s->file_location = aa; // string string
} else
- if ((aret = argcmp(next_a, "SnapshotSize")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SnapshotSize")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SnapshotSize argument missing\n");
@@ -33722,7 +42542,7 @@ int main(int ac, char **av)
s->is_set_snapshot_size = 1;
s->snapshot_size = atoi(aa);
} else
- if ((aret = argcmp(next_a, "SourceRegionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SourceRegionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SourceRegionName argument missing\n");
@@ -33733,7 +42553,7 @@ int main(int ac, char **av)
s->source_region_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "SourceSnapshotId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SourceSnapshotId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SourceSnapshotId argument missing\n");
@@ -33744,7 +42564,7 @@ int main(int ac, char **av)
s->source_snapshot_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VolumeId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VolumeId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VolumeId argument missing\n");
@@ -33834,7 +42654,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Body")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Body")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Body argument missing\n");
@@ -33845,7 +42665,7 @@ int main(int ac, char **av)
s->body = aa; // string string
} else
- if ((aret = argcmp(next_a, "Chain")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Chain")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Chain argument missing\n");
@@ -33856,7 +42676,7 @@ int main(int ac, char **av)
s->chain = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -33872,7 +42692,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Name")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Name")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Name argument missing\n");
@@ -33883,7 +42703,7 @@ int main(int ac, char **av)
s->name = aa; // string string
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -33894,7 +42714,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "PrivateKey")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateKey")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateKey argument missing\n");
@@ -33984,7 +42804,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34000,7 +42820,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Flow")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Flow")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Flow argument missing\n");
@@ -34011,7 +42831,7 @@ int main(int ac, char **av)
s->flow = aa; // string string
} else
- if ((aret = argcmp(next_a, "FromPortRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FromPortRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FromPortRange argument missing\n");
@@ -34022,7 +42842,7 @@ int main(int ac, char **av)
s->is_set_from_port_range = 1;
s->from_port_range = atoi(aa);
} else
- if ((aret = argcmp(next_a, "IpProtocol")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpProtocol")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpProtocol argument missing\n");
@@ -34033,7 +42853,7 @@ int main(int ac, char **av)
s->ip_protocol = aa; // string string
} else
- if ((aret = argcmp(next_a, "IpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRange argument missing\n");
@@ -34044,7 +42864,7 @@ int main(int ac, char **av)
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "Rules")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Rules")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Rules argument missing\n");
@@ -34075,7 +42895,7 @@ int main(int ac, char **av)
s->rules_str = aa; // array ref SecurityGroupRule ref
}
} else
- if ((aret = argcmp(next_a, "SecurityGroupAccountIdToLink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupAccountIdToLink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupAccountIdToLink argument missing\n");
@@ -34086,7 +42906,7 @@ int main(int ac, char **av)
s->security_group_account_id_to_link = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupId argument missing\n");
@@ -34097,7 +42917,7 @@ int main(int ac, char **av)
s->security_group_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupNameToLink")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupNameToLink")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupNameToLink argument missing\n");
@@ -34108,7 +42928,7 @@ int main(int ac, char **av)
s->security_group_name_to_link = aa; // string string
} else
- if ((aret = argcmp(next_a, "ToPortRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ToPortRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ToPortRange argument missing\n");
@@ -34198,7 +43018,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -34209,7 +43029,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34225,7 +43045,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -34236,7 +43056,7 @@ int main(int ac, char **av)
s->net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupName argument missing\n");
@@ -34326,7 +43146,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34342,7 +43162,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -34432,7 +43252,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DestinationIpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DestinationIpRange argument missing\n");
@@ -34443,7 +43263,7 @@ int main(int ac, char **av)
s->destination_ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34459,7 +43279,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "GatewayId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "GatewayId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "GatewayId argument missing\n");
@@ -34470,7 +43290,7 @@ int main(int ac, char **av)
s->gateway_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NatServiceId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NatServiceId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NatServiceId argument missing\n");
@@ -34481,7 +43301,7 @@ int main(int ac, char **av)
s->nat_service_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NetPeeringId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetPeeringId argument missing\n");
@@ -34492,7 +43312,7 @@ int main(int ac, char **av)
s->net_peering_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "NicId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NicId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NicId argument missing\n");
@@ -34503,7 +43323,7 @@ int main(int ac, char **av)
s->nic_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "RouteTableId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableId argument missing\n");
@@ -34514,7 +43334,7 @@ int main(int ac, char **av)
s->route_table_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -34604,7 +43424,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34699,7 +43519,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -34710,7 +43530,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34726,7 +43546,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Vendor")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Vendor")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Vendor argument missing\n");
@@ -34816,7 +43636,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Document")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Document")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Document argument missing\n");
@@ -34827,7 +43647,7 @@ int main(int ac, char **av)
s->document = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyOrn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyOrn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyOrn argument missing\n");
@@ -34838,7 +43658,7 @@ int main(int ac, char **av)
s->policy_orn = aa; // string string
} else
- if ((aret = argcmp(next_a, "SetAsDefault")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SetAsDefault")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SetAsDefault argument missing\n");
@@ -34933,7 +43753,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -34944,7 +43764,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "Document")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Document")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Document argument missing\n");
@@ -34955,7 +43775,7 @@ int main(int ac, char **av)
s->document = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -34971,7 +43791,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Path")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Path")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Path argument missing\n");
@@ -34982,7 +43802,7 @@ int main(int ac, char **av)
s->path = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -35072,7 +43892,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -35083,7 +43903,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35099,7 +43919,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PrivateIps")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PrivateIps")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PrivateIps argument missing\n");
@@ -35130,20 +43950,41 @@ int main(int ac, char **av)
s->private_ips_str = aa; // array ref PrivateIpLight ref
}
} else
- if ((aret = argcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroupIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroupIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroupIds argument missing\n");
- s->security_group_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroupIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroupIds require an index\n");
+ if (s->security_group_ids) {
+ for (; s->security_group_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_group_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_group_ids, "", pa);
+ SET_NEXT(s->security_group_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroupIds argument missing\n");
+ s->security_group_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroupIds[]")) || aret == '=') {
TRY(!aa, "SecurityGroupIds[] argument missing\n");
SET_NEXT(s->security_group_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -35233,7 +44074,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AccepterNetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AccepterNetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AccepterNetId argument missing\n");
@@ -35244,7 +44085,7 @@ int main(int ac, char **av)
s->accepter_net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35260,7 +44101,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "SourceNetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SourceNetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SourceNetId argument missing\n");
@@ -35350,7 +44191,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35366,7 +44207,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetId argument missing\n");
@@ -35377,20 +44218,41 @@ int main(int ac, char **av)
s->net_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "RouteTableIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RouteTableIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RouteTableIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "RouteTableIds argument missing\n");
- s->route_table_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "RouteTableIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "RouteTableIds require an index\n");
+ if (s->route_table_ids) {
+ for (; s->route_table_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->route_table_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->route_table_ids, "", pa);
+ SET_NEXT(s->route_table_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "RouteTableIds argument missing\n");
+ s->route_table_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "RouteTableIds[]")) || aret == '=') {
TRY(!aa, "RouteTableIds[] argument missing\n");
SET_NEXT(s->route_table_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "ServiceName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ServiceName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ServiceName argument missing\n");
@@ -35480,7 +44342,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35496,7 +44358,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "IpRange")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRange")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRange argument missing\n");
@@ -35507,7 +44369,7 @@ int main(int ac, char **av)
s->ip_range = aa; // string string
} else
- if ((aret = argcmp(next_a, "Tenancy")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tenancy")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tenancy argument missing\n");
@@ -35597,7 +44459,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "ClientToken")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ClientToken")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ClientToken argument missing\n");
@@ -35608,7 +44470,7 @@ int main(int ac, char **av)
s->client_token = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35624,7 +44486,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PublicIpId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIpId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIpId argument missing\n");
@@ -35635,7 +44497,7 @@ int main(int ac, char **av)
s->public_ip_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubnetId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubnetId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubnetId argument missing\n");
@@ -35725,7 +44587,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35741,20 +44603,41 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerNames")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerNames argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "LoadBalancerNames argument missing\n");
- s->load_balancer_names_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LoadBalancerNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LoadBalancerNames require an index\n");
+ if (s->load_balancer_names) {
+ for (; s->load_balancer_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->load_balancer_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->load_balancer_names, "", pa);
+ SET_NEXT(s->load_balancer_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LoadBalancerNames argument missing\n");
+ s->load_balancer_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "LoadBalancerNames[]")) || aret == '=') {
TRY(!aa, "LoadBalancerNames[] argument missing\n");
SET_NEXT(s->load_balancer_names, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -35864,7 +44747,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CookieExpirationPeriod")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CookieExpirationPeriod")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CookieExpirationPeriod argument missing\n");
@@ -35875,7 +44758,7 @@ int main(int ac, char **av)
s->is_set_cookie_expiration_period = 1;
s->cookie_expiration_period = atoi(aa);
} else
- if ((aret = argcmp(next_a, "CookieName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CookieName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CookieName argument missing\n");
@@ -35886,7 +44769,7 @@ int main(int ac, char **av)
s->cookie_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -35902,7 +44785,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -35913,7 +44796,7 @@ int main(int ac, char **av)
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyName argument missing\n");
@@ -35924,7 +44807,7 @@ int main(int ac, char **av)
s->policy_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "PolicyType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PolicyType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PolicyType argument missing\n");
@@ -36014,7 +44897,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36030,7 +44913,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Listeners")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Listeners")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Listeners argument missing\n");
@@ -36061,7 +44944,7 @@ int main(int ac, char **av)
s->listeners_str = aa; // array ref ListenerForCreation ref
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -36151,7 +45034,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36167,7 +45050,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Listeners")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Listeners")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Listeners argument missing\n");
@@ -36198,7 +45081,7 @@ int main(int ac, char **av)
s->listeners_str = aa; // array ref ListenerForCreation ref
}
} else
- if ((aret = argcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerName argument missing\n");
@@ -36209,7 +45092,7 @@ int main(int ac, char **av)
s->load_balancer_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "LoadBalancerType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LoadBalancerType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LoadBalancerType argument missing\n");
@@ -36220,7 +45103,7 @@ int main(int ac, char **av)
s->load_balancer_type = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -36231,46 +45114,109 @@ int main(int ac, char **av)
s->public_ip = aa; // string string
} else
- if ((aret = argcmp(next_a, "SecurityGroups")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SecurityGroups")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SecurityGroups argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SecurityGroups argument missing\n");
- s->security_groups_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SecurityGroups argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SecurityGroups require an index\n");
+ if (s->security_groups) {
+ for (; s->security_groups[last]; ++last);
+ }
+ if (pos < last) {
+ s->security_groups[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->security_groups, "", pa);
+ SET_NEXT(s->security_groups, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SecurityGroups argument missing\n");
+ s->security_groups_str = aa;
+ }
} else if (!(aret = strcmp(str, "SecurityGroups[]")) || aret == '=') {
TRY(!aa, "SecurityGroups[] argument missing\n");
SET_NEXT(s->security_groups, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Subnets")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Subnets")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Subnets argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "Subnets argument missing\n");
- s->subnets_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Subnets argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Subnets require an index\n");
+ if (s->subnets) {
+ for (; s->subnets[last]; ++last);
+ }
+ if (pos < last) {
+ s->subnets[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subnets, "", pa);
+ SET_NEXT(s->subnets, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Subnets argument missing\n");
+ s->subnets_str = aa;
+ }
} else if (!(aret = strcmp(str, "Subnets[]")) || aret == '=') {
TRY(!aa, "Subnets[] argument missing\n");
SET_NEXT(s->subnets, (aa), pa);
} else
- if ((aret = argcmp(next_a, "SubregionNames")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubregionNames")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubregionNames argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "SubregionNames argument missing\n");
- s->subregion_names_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "SubregionNames argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "SubregionNames require an index\n");
+ if (s->subregion_names) {
+ for (; s->subregion_names[last]; ++last);
+ }
+ if (pos < last) {
+ s->subregion_names[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->subregion_names, "", pa);
+ SET_NEXT(s->subregion_names, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "SubregionNames argument missing\n");
+ s->subregion_names_str = aa;
+ }
} else if (!(aret = strcmp(str, "SubregionNames[]")) || aret == '=') {
TRY(!aa, "SubregionNames[] argument missing\n");
SET_NEXT(s->subregion_names, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Tags")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Tags")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Tags argument missing\n");
@@ -36380,7 +45326,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36396,7 +45342,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Listener")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Listener")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Listener argument missing\n");
@@ -36419,7 +45365,7 @@ int main(int ac, char **av)
s->listener_str = aa;
}
} else
- if ((aret = argcmp(next_a, "ListenerRule")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ListenerRule")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ListenerRule argument missing\n");
@@ -36442,15 +45388,36 @@ int main(int ac, char **av)
s->listener_rule_str = aa;
}
} else
- if ((aret = argcmp(next_a, "VmIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "VmIds argument missing\n");
- s->vm_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "VmIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "VmIds require an index\n");
+ if (s->vm_ids) {
+ for (; s->vm_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->vm_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->vm_ids, "", pa);
+ SET_NEXT(s->vm_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "VmIds argument missing\n");
+ s->vm_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "VmIds[]")) || aret == '=') {
TRY(!aa, "VmIds[] argument missing\n");
SET_NEXT(s->vm_ids, (aa), pa);
@@ -36534,7 +45501,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36550,7 +45517,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "KeypairName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "KeypairName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "KeypairName argument missing\n");
@@ -36561,7 +45528,7 @@ int main(int ac, char **av)
s->keypair_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "PublicKey")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicKey")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicKey argument missing\n");
@@ -36651,7 +45618,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36746,7 +45713,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36762,7 +45729,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageId argument missing\n");
@@ -36773,7 +45740,7 @@ int main(int ac, char **av)
s->image_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "OsuExport")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "OsuExport")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "OsuExport argument missing\n");
@@ -36875,7 +45842,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Architecture")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Architecture")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Architecture argument missing\n");
@@ -36886,7 +45853,7 @@ int main(int ac, char **av)
s->architecture = aa; // string string
} else
- if ((aret = argcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BlockDeviceMappings")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BlockDeviceMappings argument missing\n");
@@ -36917,7 +45884,7 @@ int main(int ac, char **av)
s->block_device_mappings_str = aa; // array ref BlockDeviceMappingImage ref
}
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -36928,7 +45895,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -36944,7 +45911,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "FileLocation")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FileLocation")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FileLocation argument missing\n");
@@ -36955,7 +45922,7 @@ int main(int ac, char **av)
s->file_location = aa; // string string
} else
- if ((aret = argcmp(next_a, "ImageName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ImageName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ImageName argument missing\n");
@@ -36966,7 +45933,7 @@ int main(int ac, char **av)
s->image_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "NoReboot")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NoReboot")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NoReboot argument missing\n");
@@ -36982,20 +45949,41 @@ int main(int ac, char **av)
BAD_RET("NoReboot require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ProductCodes")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ProductCodes")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ProductCodes argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "ProductCodes argument missing\n");
- s->product_codes_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "ProductCodes argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "ProductCodes require an index\n");
+ if (s->product_codes) {
+ for (; s->product_codes[last]; ++last);
+ }
+ if (pos < last) {
+ s->product_codes[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->product_codes, "", pa);
+ SET_NEXT(s->product_codes, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "ProductCodes argument missing\n");
+ s->product_codes_str = aa;
+ }
} else if (!(aret = strcmp(str, "ProductCodes[]")) || aret == '=') {
TRY(!aa, "ProductCodes[] argument missing\n");
SET_NEXT(s->product_codes, (aa), pa);
} else
- if ((aret = argcmp(next_a, "RootDeviceName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "RootDeviceName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "RootDeviceName argument missing\n");
@@ -37006,7 +45994,7 @@ int main(int ac, char **av)
s->root_device_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "SourceImageId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SourceImageId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SourceImageId argument missing\n");
@@ -37017,7 +46005,7 @@ int main(int ac, char **av)
s->source_image_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "SourceRegionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SourceRegionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SourceRegionName argument missing\n");
@@ -37028,7 +46016,7 @@ int main(int ac, char **av)
s->source_region_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "VmId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VmId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VmId argument missing\n");
@@ -37118,7 +46106,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DeleteOnVmDeletion")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DeleteOnVmDeletion")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DeleteOnVmDeletion argument missing\n");
@@ -37134,7 +46122,7 @@ int main(int ac, char **av)
BAD_RET("DeleteOnVmDeletion require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37150,7 +46138,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Generation")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Generation")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Generation argument missing\n");
@@ -37161,7 +46149,7 @@ int main(int ac, char **av)
s->generation = aa; // string string
} else
- if ((aret = argcmp(next_a, "ModelName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ModelName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ModelName argument missing\n");
@@ -37172,7 +46160,7 @@ int main(int ac, char **av)
s->model_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubregionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubregionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubregionName argument missing\n");
@@ -37262,7 +46250,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DirectLinkId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkId argument missing\n");
@@ -37273,7 +46261,7 @@ int main(int ac, char **av)
s->direct_link_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DirectLinkInterface")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkInterface")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkInterface argument missing\n");
@@ -37296,7 +46284,7 @@ int main(int ac, char **av)
s->direct_link_interface_str = aa;
}
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37391,7 +46379,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "Bandwidth")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Bandwidth")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Bandwidth argument missing\n");
@@ -37402,7 +46390,7 @@ int main(int ac, char **av)
s->bandwidth = aa; // string string
} else
- if ((aret = argcmp(next_a, "DirectLinkName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DirectLinkName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DirectLinkName argument missing\n");
@@ -37413,7 +46401,7 @@ int main(int ac, char **av)
s->direct_link_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37429,7 +46417,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Location")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Location")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Location argument missing\n");
@@ -37519,7 +46507,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DomainName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DomainName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DomainName argument missing\n");
@@ -37530,20 +46518,41 @@ int main(int ac, char **av)
s->domain_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "DomainNameServers")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DomainNameServers")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DomainNameServers argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "DomainNameServers argument missing\n");
- s->domain_name_servers_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "DomainNameServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "DomainNameServers require an index\n");
+ if (s->domain_name_servers) {
+ for (; s->domain_name_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->domain_name_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->domain_name_servers, "", pa);
+ SET_NEXT(s->domain_name_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "DomainNameServers argument missing\n");
+ s->domain_name_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "DomainNameServers[]")) || aret == '=') {
TRY(!aa, "DomainNameServers[] argument missing\n");
SET_NEXT(s->domain_name_servers, (aa), pa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37559,28 +46568,70 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "LogServers")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LogServers")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LogServers argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "LogServers argument missing\n");
- s->log_servers_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "LogServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "LogServers require an index\n");
+ if (s->log_servers) {
+ for (; s->log_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->log_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->log_servers, "", pa);
+ SET_NEXT(s->log_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "LogServers argument missing\n");
+ s->log_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "LogServers[]")) || aret == '=') {
TRY(!aa, "LogServers[] argument missing\n");
SET_NEXT(s->log_servers, (aa), pa);
} else
- if ((aret = argcmp(next_a, "NtpServers")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NtpServers")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NtpServers argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "NtpServers argument missing\n");
- s->ntp_servers_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "NtpServers argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "NtpServers require an index\n");
+ if (s->ntp_servers) {
+ for (; s->ntp_servers[last]; ++last);
+ }
+ if (pos < last) {
+ s->ntp_servers[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ntp_servers, "", pa);
+ SET_NEXT(s->ntp_servers, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "NtpServers argument missing\n");
+ s->ntp_servers_str = aa;
+ }
} else if (!(aret = strcmp(str, "NtpServers[]")) || aret == '=') {
TRY(!aa, "NtpServers[] argument missing\n");
SET_NEXT(s->ntp_servers, (aa), pa);
@@ -37664,7 +46715,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CpuGeneration")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CpuGeneration")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CpuGeneration argument missing\n");
@@ -37675,7 +46726,7 @@ int main(int ac, char **av)
s->is_set_cpu_generation = 1;
s->cpu_generation = atoi(aa);
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37691,7 +46742,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Name")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Name")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Name argument missing\n");
@@ -37702,7 +46753,7 @@ int main(int ac, char **av)
s->name = aa; // string string
} else
- if ((aret = argcmp(next_a, "SubregionName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "SubregionName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "SubregionName argument missing\n");
@@ -37792,7 +46843,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "BgpAsn")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "BgpAsn")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "BgpAsn argument missing\n");
@@ -37803,7 +46854,7 @@ int main(int ac, char **av)
s->is_set_bgp_asn = 1;
s->bgp_asn = atoi(aa);
} else
- if ((aret = argcmp(next_a, "ConnectionType")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ConnectionType")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ConnectionType argument missing\n");
@@ -37814,7 +46865,7 @@ int main(int ac, char **av)
s->connection_type = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -37830,7 +46881,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "PublicIp")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PublicIp")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PublicIp argument missing\n");
@@ -37920,7 +46971,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CaPem")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CaPem")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CaPem argument missing\n");
@@ -37931,7 +46982,7 @@ int main(int ac, char **av)
s->ca_pem = aa; // string string
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -37942,7 +46993,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38037,33 +47088,75 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "CaIds")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CaIds")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CaIds argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "CaIds argument missing\n");
- s->ca_ids_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "CaIds argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "CaIds require an index\n");
+ if (s->ca_ids) {
+ for (; s->ca_ids[last]; ++last);
+ }
+ if (pos < last) {
+ s->ca_ids[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ca_ids, "", pa);
+ SET_NEXT(s->ca_ids, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "CaIds argument missing\n");
+ s->ca_ids_str = aa;
+ }
} else if (!(aret = strcmp(str, "CaIds[]")) || aret == '=') {
TRY(!aa, "CaIds[] argument missing\n");
SET_NEXT(s->ca_ids, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Cns")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Cns")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Cns argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "Cns argument missing\n");
- s->cns_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "Cns argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "Cns require an index\n");
+ if (s->cns) {
+ for (; s->cns[last]; ++last);
+ }
+ if (pos < last) {
+ s->cns[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->cns, "", pa);
+ SET_NEXT(s->cns, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "Cns argument missing\n");
+ s->cns_str = aa;
+ }
} else if (!(aret = strcmp(str, "Cns[]")) || aret == '=') {
TRY(!aa, "Cns[] argument missing\n");
SET_NEXT(s->cns, (aa), pa);
} else
- if ((aret = argcmp(next_a, "Description")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Description")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Description argument missing\n");
@@ -38074,7 +47167,7 @@ int main(int ac, char **av)
s->description = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38090,15 +47183,36 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "IpRanges")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "IpRanges")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "IpRanges argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "IpRanges argument missing\n");
- s->ip_ranges_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "IpRanges argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "IpRanges require an index\n");
+ if (s->ip_ranges) {
+ for (; s->ip_ranges[last]; ++last);
+ }
+ if (pos < last) {
+ s->ip_ranges[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->ip_ranges, "", pa);
+ SET_NEXT(s->ip_ranges, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "IpRanges argument missing\n");
+ s->ip_ranges_str = aa;
+ }
} else if (!(aret = strcmp(str, "IpRanges[]")) || aret == '=') {
TRY(!aa, "IpRanges[] argument missing\n");
SET_NEXT(s->ip_ranges, (aa), pa);
@@ -38182,20 +47296,41 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "AdditionalEmails")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "AdditionalEmails")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "AdditionalEmails argument missing\n");
aa = eq_ptr + 1;
incr = 1;
}
- TRY(!aa, "AdditionalEmails argument missing\n");
- s->additional_emails_str = aa;
+ if (aret == '.') {
+ int pos;
+ char *endptr;
+ int last = 0;
+ char *dot_pos = strchr(str, '.');
+
+ TRY(!(dot_pos++), "AdditionalEmails argument missing\n");
+ pos = strtoul(dot_pos, &endptr, 0);
+ TRY(endptr == dot_pos, "AdditionalEmails require an index\n");
+ if (s->additional_emails) {
+ for (; s->additional_emails[last]; ++last);
+ }
+ if (pos < last) {
+ s->additional_emails[pos] = (aa);
+ } else {
+ for (int i = last; i < pos; ++i)
+ SET_NEXT(s->additional_emails, "", pa);
+ SET_NEXT(s->additional_emails, (aa), pa);
+ }
+ } else {
+ TRY(!aa, "AdditionalEmails argument missing\n");
+ s->additional_emails_str = aa;
+ }
} else if (!(aret = strcmp(str, "AdditionalEmails[]")) || aret == '=') {
TRY(!aa, "AdditionalEmails[] argument missing\n");
SET_NEXT(s->additional_emails, (aa), pa);
} else
- if ((aret = argcmp(next_a, "City")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "City")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "City argument missing\n");
@@ -38206,7 +47341,7 @@ int main(int ac, char **av)
s->city = aa; // string string
} else
- if ((aret = argcmp(next_a, "CompanyName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CompanyName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CompanyName argument missing\n");
@@ -38217,7 +47352,7 @@ int main(int ac, char **av)
s->company_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "Country")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Country")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Country argument missing\n");
@@ -38228,7 +47363,7 @@ int main(int ac, char **av)
s->country = aa; // string string
} else
- if ((aret = argcmp(next_a, "CustomerId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "CustomerId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "CustomerId argument missing\n");
@@ -38239,7 +47374,7 @@ int main(int ac, char **av)
s->customer_id = aa; // string string
} else
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38255,7 +47390,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Email")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Email")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Email argument missing\n");
@@ -38266,7 +47401,7 @@ int main(int ac, char **av)
s->email = aa; // string string
} else
- if ((aret = argcmp(next_a, "FirstName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "FirstName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "FirstName argument missing\n");
@@ -38277,7 +47412,7 @@ int main(int ac, char **av)
s->first_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "JobTitle")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "JobTitle")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "JobTitle argument missing\n");
@@ -38288,7 +47423,7 @@ int main(int ac, char **av)
s->job_title = aa; // string string
} else
- if ((aret = argcmp(next_a, "LastName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "LastName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "LastName argument missing\n");
@@ -38299,7 +47434,7 @@ int main(int ac, char **av)
s->last_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "MobileNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "MobileNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "MobileNumber argument missing\n");
@@ -38310,7 +47445,7 @@ int main(int ac, char **av)
s->mobile_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "PhoneNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "PhoneNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "PhoneNumber argument missing\n");
@@ -38321,7 +47456,7 @@ int main(int ac, char **av)
s->phone_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "StateProvince")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "StateProvince")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "StateProvince argument missing\n");
@@ -38332,7 +47467,7 @@ int main(int ac, char **av)
s->state_province = aa; // string string
} else
- if ((aret = argcmp(next_a, "VatNumber")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "VatNumber")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "VatNumber argument missing\n");
@@ -38343,7 +47478,7 @@ int main(int ac, char **av)
s->vat_number = aa; // string string
} else
- if ((aret = argcmp(next_a, "ZipCode")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ZipCode")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ZipCode argument missing\n");
@@ -38433,7 +47568,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38449,7 +47584,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "ExpirationDate")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "ExpirationDate")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "ExpirationDate argument missing\n");
@@ -38460,7 +47595,7 @@ int main(int ac, char **av)
s->expiration_date = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -38550,7 +47685,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38566,7 +47701,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "Login")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Login")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Login argument missing\n");
@@ -38577,7 +47712,7 @@ int main(int ac, char **av)
s->login = aa; // string string
} else
- if ((aret = argcmp(next_a, "Password")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "Password")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "Password argument missing\n");
@@ -38667,7 +47802,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38683,7 +47818,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "UserGroupName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupName argument missing\n");
@@ -38694,7 +47829,7 @@ int main(int ac, char **av)
s->user_group_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserGroupPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserGroupPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserGroupPath argument missing\n");
@@ -38705,7 +47840,7 @@ int main(int ac, char **av)
s->user_group_path = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserName")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserName")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserName argument missing\n");
@@ -38716,7 +47851,7 @@ int main(int ac, char **av)
s->user_name = aa; // string string
} else
- if ((aret = argcmp(next_a, "UserPath")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "UserPath")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "UserPath argument missing\n");
@@ -38806,7 +47941,7 @@ int main(int ac, char **av)
if (aa && aa[0] == '-' && aa[1] == '-' && aa[2] != '-') {
META_ARGS({ aa = 0; incr = 1; });
}
- if ((aret = argcmp(next_a, "DryRun")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "DryRun")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "DryRun argument missing\n");
@@ -38822,7 +47957,7 @@ int main(int ac, char **av)
BAD_RET("DryRun require true/false\n");
}
} else
- if ((aret = argcmp(next_a, "NetPeeringId")) == 0 || aret == '=' ) {
+ if ((aret = strcmp(next_a, "NetPeeringId")) == 0 || aret == '=' || aret == '.') {
char *eq_ptr = strchr(next_a, '=');
if (eq_ptr) {
TRY((!*eq_ptr), "NetPeeringId argument missing\n");
diff --git a/osc-sdk-C b/osc-sdk-C
index c92e2e6..c464c55 160000
--- a/osc-sdk-C
+++ b/osc-sdk-C
@@ -1 +1 @@
-Subproject commit c92e2e6846a318e47b8944e22732ee084f78e42a
+Subproject commit c464c554958555c67a3bb6c7ca71af7272f2a131
diff --git a/osc_sdk.c b/osc_sdk.c
index dc57730..cfc0930 100644
--- a/osc_sdk.c
+++ b/osc_sdk.c
@@ -750,4033 +750,3537 @@ static const char *calls_descriptions[] = {
};
static const char *calls_args_descriptions[] = {
- "ClientGatewayId: string\n"
+ "--ClientGatewayId: string\n"
" The ID of the client gateway.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VirtualGatewayId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway.\n"
-"VpnConnectionId: string\n"
+"--VpnConnectionId: string\n"
" The ID of the VPN connection you want to modify.\n"
-"VpnOptions: ref VpnOptions\n"
+"--VpnOptions: ref VpnOptions\n"
" Information about the VPN options.\n"
- " -Phase1Options: ref Phase1Options\n"
+ " --VpnOptions.Phase1Options: ref Phase1Options\n"
" Information about Phase 1 of the Internet Key Exchange (IKE) \n"
- " negotiation. When Phase 1 finishes successfully, peers proceed \n"
- " to Phase 2 negotiations.\n"
- " -DpdTimeoutAction: string\n"
- " The action to carry out after a Dead Peer Detection (DPD) \n"
- " timeout occurs.\n"
- " -DpdTimeoutSeconds: int\n"
- " The maximum waiting time for a Dead Peer Detection (DPD) \n"
- " response before considering the peer as dead, in seconds.\n"
- " -IkeVersions: array string\n"
- " The Internet Key Exchange (IKE) versions allowed for the VPN \n"
- " tunnel.\n"
- " -Phase1DhGroupNumbers: array integer\n"
- " The Diffie-Hellman (DH) group numbers allowed for the VPN \n"
- " tunnel for phase 1.\n"
- " -Phase1EncryptionAlgorithms: array string\n"
- " The encryption algorithms allowed for the VPN tunnel for phase \n"
- " 1.\n"
- " -Phase1IntegrityAlgorithms: array string\n"
- " The integrity algorithms allowed for the VPN tunnel for phase \n"
- " 1.\n"
- " -Phase1LifetimeSeconds: int\n"
- " The lifetime for phase 1 of the IKE negotiation process, in \n"
- " seconds.\n"
- " -ReplayWindowSize: int\n"
+ " negotiation. When Phase 1 finishes successfully, peers proceed to Phase 2 \n"
+ " negotiations.\n"
+ " --VpnOptions.Phase1Options.DpdTimeoutAction: string\n"
+ " The action to carry out after a Dead Peer Detection (DPD) timeout \n"
+ " occurs.\n"
+ " --VpnOptions.Phase1Options.DpdTimeoutSeconds: int\n"
+ " The maximum waiting time for a Dead Peer Detection (DPD) response before \n"
+ " considering the peer as dead, in seconds.\n"
+ " --VpnOptions.Phase1Options.IkeVersions: array string\n"
+ " The Internet Key Exchange (IKE) versions allowed for the VPN tunnel.\n"
+ " --VpnOptions.Phase1Options.Phase1DhGroupNumbers: array integer\n"
+ " The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel for \n"
+ " phase 1.\n"
+ " --VpnOptions.Phase1Options.Phase1EncryptionAlgorithms: array string\n"
+ " The encryption algorithms allowed for the VPN tunnel for phase 1.\n"
+ " --VpnOptions.Phase1Options.Phase1IntegrityAlgorithms: array string\n"
+ " The integrity algorithms allowed for the VPN tunnel for phase 1.\n"
+ " --VpnOptions.Phase1Options.Phase1LifetimeSeconds: int\n"
+ " The lifetime for phase 1 of the IKE negotiation process, in seconds.\n"
+ " --VpnOptions.Phase1Options.ReplayWindowSize: int\n"
" The number of packets in an IKE replay window.\n"
- " -StartupAction: string\n"
- " The action to carry out when establishing tunnels for a VPN \n"
- " connection.\n"
- " -Phase2Options: ref Phase2Options\n"
+ " --VpnOptions.Phase1Options.StartupAction: string\n"
+ " The action to carry out when establishing tunnels for a VPN connection.\n"
+ " --VpnOptions.Phase2Options: ref Phase2Options\n"
" Information about Phase 2 of the Internet Key Exchange (IKE) \n"
" negotiation.\n"
- " -Phase2DhGroupNumbers: array integer\n"
- " The Diffie-Hellman (DH) group numbers allowed for the VPN \n"
- " tunnel for phase 2.\n"
- " -Phase2EncryptionAlgorithms: array string\n"
- " The encryption algorithms allowed for the VPN tunnel for phase \n"
- " 2.\n"
- " -Phase2IntegrityAlgorithms: array string\n"
- " The integrity algorithms allowed for the VPN tunnel for phase \n"
- " 2.\n"
- " -Phase2LifetimeSeconds: int\n"
- " The lifetime for phase 2 of the Internet Key Exchange (IKE) \n"
- " negociation process, in seconds.\n"
- " -PreSharedKey: string\n"
- " The pre-shared key to establish the initial authentication \n"
- " between the client gateway and the virtual gateway. This key \n"
- " can contain any character except line breaks and double quotes \n"
- " (\").\n"
- " -TunnelInsideIpRange: string\n"
- " The range of inside IPs for the tunnel. This must be a /30 \n"
- " CIDR block from the 169.254.254.0/24 range.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Iops: int\n"
- " **Cold volume**: the new number of I/O operations per second (IOPS). \n"
- " This parameter can be specified only if you update an `io1` volume or \n"
- " if you change the type of the volume for an `io1`. This modification is \n"
- " instantaneous. \n**Hot volume**: the new number of I/O operations per \n"
- " second (IOPS). This parameter can be specified only if you update an \n"
- " `io1` volume. This modification is not instantaneous. \nThe maximum \n"
- " number of IOPS allowed for `io1` volumes is `13000` with a maximum \n"
- " performance ratio of 300 IOPS per gibibyte.\n"
-"Size: int\n"
- " **Cold volume**: the new size of the volume, in gibibytes (GiB). This \n"
- " value must be equal to or greater than the current size of the volume. \n"
- " This modification is not instantaneous. \n**Hot volume**: you cannot \n"
- " change the size of a hot volume.\n"
-"VolumeId: string\n"
+ " --VpnOptions.Phase2Options.Phase2DhGroupNumbers: array integer\n"
+ " The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel for \n"
+ " phase 2.\n"
+ " --VpnOptions.Phase2Options.Phase2EncryptionAlgorithms: array string\n"
+ " The encryption algorithms allowed for the VPN tunnel for phase 2.\n"
+ " --VpnOptions.Phase2Options.Phase2IntegrityAlgorithms: array string\n"
+ " The integrity algorithms allowed for the VPN tunnel for phase 2.\n"
+ " --VpnOptions.Phase2Options.Phase2LifetimeSeconds: int\n"
+ " The lifetime for phase 2 of the Internet Key Exchange (IKE) negociation \n"
+ " process, in seconds.\n"
+ " --VpnOptions.Phase2Options.PreSharedKey: string\n"
+ " The pre-shared key to establish the initial authentication between the \n"
+ " client gateway and the virtual gateway. This key can contain any \n"
+ " character except line breaks and double quotes (\").\n"
+ " --VpnOptions.TunnelInsideIpRange: string\n"
+ " The range of inside IPs for the tunnel. This must be a /30 CIDR block \n"
+ " from the 169.254.254.0/24 range.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Iops: int\n"
+ " **Cold volume**: the new number of I/O operations per second (IOPS). This parameter can be \n"
+ " specified only if you update an `io1` volume or if you change the type of the volume for an \n"
+ " `io1`. This modification is instantaneous. \n**Hot volume**: the new number of I/O \n"
+ " operations per second (IOPS). This parameter can be specified only if you update an `io1` \n"
+ " volume. This modification is not instantaneous. \nThe maximum number of IOPS allowed for \n"
+ " `io1` volumes is `13000` with a maximum performance ratio of 300 IOPS per gibibyte.\n"
+"--Size: int\n"
+ " **Cold volume**: the new size of the volume, in gibibytes (GiB). This value must be equal \n"
+ " to or greater than the current size of the volume. This modification is not instantaneous. \n"
+ " \n**Hot volume**: you cannot change the size of a hot volume.\n"
+"--VolumeId: string\n"
" The ID of the volume you want to update.\n"
-"VolumeType: string\n"
- " **Cold volume**: the new type of the volume (`standard` \\| `io1` \\| \n"
- " `gp2`). This modification is instantaneous. If you update to an `io1` \n"
- " volume, you must also specify the `Iops` parameter.\n**Hot volume**: \n"
- " you cannot change the type of a hot volume.\n"
+"--VolumeType: string\n"
+ " **Cold volume**: the new type of the volume (`standard` \\| `io1` \\| `gp2`). This \n"
+ " modification is instantaneous. If you update to an `io1` volume, you must also specify the \n"
+ " `Iops` parameter.\n**Hot volume**: you cannot change the type of a hot volume.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A new description for the VM template.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Tags: array ref ResourceTag\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Tags: array ref ResourceTag\n"
" New tags for your VM template.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
-"VmTemplateId: string\n"
+"--VmTemplateId: string\n"
" The ID of the VM template you want to update.\n"
-"VmTemplateName: string\n"
+"--VmTemplateName: string\n"
" A new name for your VM template.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A new description for the VM group.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Tags: array ref ResourceTag\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Tags: array ref ResourceTag\n"
" New tags for your VM group.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
-"VmGroupId: string\n"
+"--VmGroupId: string\n"
" The ID of the VM group you want to update.\n"
-"VmGroupName: string\n"
+"--VmGroupName: string\n"
" A new name for your VM group.\n"
-"VmTemplateId: string\n"
+"--VmTemplateId: string\n"
" A new VM template ID for your VM group.\n"
,
- "BlockDeviceMappings: array ref BlockDeviceMappingVmUpdate\n"
+ "--BlockDeviceMappings: array ref BlockDeviceMappingVmUpdate\n"
" One or more block device mappings of the VM.\n"
" Information about the block device mapping.\n"
- " -Bsu: ref BsuToUpdateVm\n"
+ " --BlockDeviceMappings.INDEX.Bsu: ref BsuToUpdateVm\n"
" Information about the BSU volume.\n"
- " -DeleteOnVmDeletion: bool\n"
- " If set to true, the volume is deleted when terminating the VM. \n"
- " If set to false, the volume is not deleted when terminating the \n"
- " VM.\n"
- " -VolumeId: string\n"
+ " --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool\n"
+ " If set to true, the volume is deleted when terminating the VM. If set to \n"
+ " false, the volume is not deleted when terminating the VM.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.VolumeId: string\n"
" The ID of the volume.\n"
- " -DeviceName: string\n"
- " The device name for the volume. For a root device, you must \n"
- " use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, \n"
- " `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` \n"
- " is a letter between `b` and `z`, and the second `X` is a letter \n"
- " between `a` and `z`).\n"
- " -NoDevice: string\n"
- " Removes the device which is included in the block device \n"
- " mapping of the OMI.\n"
- " -VirtualDeviceName: string\n"
+ " --BlockDeviceMappings.INDEX.DeviceName: string\n"
+ " The device name for the volume. For a root device, you must use \n"
+ " `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, \n"
+ " `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` \n"
+ " and `z`, and the second `X` is a letter between `a` and `z`).\n"
+ " --BlockDeviceMappings.INDEX.NoDevice: string\n"
+ " Removes the device which is included in the block device mapping of the \n"
+ " OMI.\n"
+ " --BlockDeviceMappings.INDEX.VirtualDeviceName: string\n"
" The name of the virtual device (`ephemeralN`).\n"
-"BsuOptimized: bool\n"
- " This parameter is not available. It is present in our API for the sake \n"
- " of historical compatibility with AWS.\n"
-"DeletionProtection: bool\n"
- " If true, you cannot delete the VM unless you change this parameter back \n"
- " to false.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"IsSourceDestChecked: bool\n"
- " (Net only) If true, the source/destination check is enabled. If false, \n"
- " it is disabled. This value must be false for a NAT VM to perform \n"
- " network address translation (NAT) in a Net.\n"
-"KeypairName: string\n"
- " The name of a keypair you want to associate with the VM.\nWhen you \n"
- " replace the keypair of a VM with another one, the metadata of the VM is \n"
- " modified to reflect the new public key, but the replacement is still \n"
- " not effective in the operating system of the VM. To complete the \n"
- " replacement and effectively apply the new keypair, you need to perform \n"
- " other actions inside the VM. For more information, see [Modifying the \n"
- " Keypair of a \n"
- " VM](https://docs.outscale.com/en/userguide/Modifying-the-Keypair-of-a-VM\n"
- " .html).\n"
-"NestedVirtualization: bool\n"
- " (dedicated tenancy only) If true, nested virtualization is enabled. If \n"
- " false, it is disabled.\n"
-"Performance: string\n"
+"--BsuOptimized: bool\n"
+ " This parameter is not available. It is present in our API for the sake of historical \n"
+ " compatibility with AWS.\n"
+"--DeletionProtection: bool\n"
+ " If true, you cannot delete the VM unless you change this parameter back to false.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--IsSourceDestChecked: bool\n"
+ " (Net only) If true, the source/destination check is enabled. If false, it is disabled. This \n"
+ " value must be false for a NAT VM to perform network address translation (NAT) in a Net.\n"
+"--KeypairName: string\n"
+ " The name of a keypair you want to associate with the VM.\nWhen you replace the keypair of a \n"
+ " VM with another one, the metadata of the VM is modified to reflect the new public key, but \n"
+ " the replacement is still not effective in the operating system of the VM. To complete the \n"
+ " replacement and effectively apply the new keypair, you need to perform other actions inside \n"
+ " the VM. For more information, see [Modifying the Keypair of a \n"
+ " VM](https://docs.outscale.com/en/userguide/Modifying-the-Keypair-of-a-VM.html).\n"
+"--NestedVirtualization: bool\n"
+ " (dedicated tenancy only) If true, nested virtualization is enabled. If false, it is \n"
+ " disabled.\n"
+"--Performance: string\n"
" The performance of the VM (`medium` \\| `high` \\| `highest`).\n"
-"SecurityGroupIds: array string\n"
+"--SecurityGroupIds: array string\n"
" One or more IDs of security groups for the VM.\n"
-"UserData: string\n"
+"--UserData: string\n"
" The Base64-encoded MIME user data, limited to 500 kibibytes (KiB).\n"
-"VmId: string\n"
+"--VmId: string\n"
" The ID of the VM.\n"
-"VmInitiatedShutdownBehavior: string\n"
- " The VM behavior when you stop it. If set to `stop`, the VM stops. If \n"
- " set to `restart`, the VM stops then automatically restarts. If set to \n"
- " `terminate`, the VM stops and is terminated.\n"
-"VmType: string\n"
+"--VmInitiatedShutdownBehavior: string\n"
+ " The VM behavior when you stop it. If set to `stop`, the VM stops. If set to `restart`, the \n"
+ " VM stops then automatically restarts. If set to `terminate`, the VM stops and is terminated.\n"
+"--VmType: string\n"
" The type of VM. For more information, see [VM \n"
" Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NewPath: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NewPath: string\n"
" A new path for the group. If not specified, it is set to a slash (`/`).\n"
-"NewUserGroupName: string\n"
+"--NewUserGroupName: string\n"
" A new name for the user group.\n"
-"Path: string\n"
+"--Path: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group you want to update.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NewPath: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NewPath: string\n"
" A new path for the EIM user.\n"
-"NewUserName: string\n"
+"--NewUserName: string\n"
" A new name for the EIM user.\n"
-"UserName: string\n"
+"--UserName: string\n"
" The name of the EIM user you want to modify.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"MapPublicIpOnLaunch: bool\n"
- " If true, a public IP is assigned to the network interface cards (NICs) \n"
- " created in the specified Subnet.\n"
-"SubnetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--MapPublicIpOnLaunch: bool\n"
+ " If true, a public IP is assigned to the network interface cards (NICs) created in the \n"
+ " specified Subnet.\n"
+"--SubnetId: string\n"
" The ID of the Subnet.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PermissionsToCreateVolume: ref PermissionsOnResourceCreation\n"
- " Information about the permissions for the resource.
\nSpecify either the `Additions` or the `Removals` parameter.\n"
- " -Additions: ref PermissionsOnResource\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PermissionsToCreateVolume: ref PermissionsOnResourceCreation\n"
+ " Information about the permissions for the resource.\nSpecify \n"
+ " either the `Additions` or the `Removals` parameter.\n"
+ " --PermissionsToCreateVolume.Additions: ref PermissionsOnResource\n"
" Permissions for the resource.\n"
- " -AccountIds: array string\n"
- " One or more account IDs that the permission is associated \n"
- " with.\n"
- " -GlobalPermission: bool\n"
- " A global permission for all accounts.\n(Request) Set \n"
- " this parameter to true to make the resource public (if the \n"
- " parent parameter is `Additions`) or to make the resource \n"
- " private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the \n"
- " resource is private.\n"
- " -Removals: ref PermissionsOnResource\n"
+ " --PermissionsToCreateVolume.Additions.AccountIds: array string\n"
+ " One or more account IDs that the permission is associated with.\n"
+ " --PermissionsToCreateVolume.Additions.GlobalPermission: bool\n"
+ " A global permission for all accounts.\n(Request) Set this \n"
+ " parameter to true to make the resource public (if the parent parameter is \n"
+ " `Additions`) or to make the resource private (if the parent parameter is \n"
+ " `Removals`).\n(Response) If true, the resource is public. If false, \n"
+ " the resource is private.\n"
+ " --PermissionsToCreateVolume.Removals: ref PermissionsOnResource\n"
" Permissions for the resource.\n"
- " -AccountIds: array string\n"
- " One or more account IDs that the permission is associated \n"
- " with.\n"
- " -GlobalPermission: bool\n"
- " A global permission for all accounts.\n(Request) Set \n"
- " this parameter to true to make the resource public (if the \n"
- " parent parameter is `Additions`) or to make the resource \n"
- " private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the \n"
- " resource is private.\n"
-"SnapshotId: string\n"
+ " --PermissionsToCreateVolume.Removals.AccountIds: array string\n"
+ " One or more account IDs that the permission is associated with.\n"
+ " --PermissionsToCreateVolume.Removals.GlobalPermission: bool\n"
+ " A global permission for all accounts.\n(Request) Set this \n"
+ " parameter to true to make the resource public (if the parent parameter is \n"
+ " `Additions`) or to make the resource private (if the parent parameter is \n"
+ " `Removals`).\n(Response) If true, the resource is public. If false, \n"
+ " the resource is private.\n"
+"--SnapshotId: string\n"
" The ID of the snapshot.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Name: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Name: string\n"
" The name of the server certificate you want to modify.\n"
-"NewName: string\n"
+"--NewName: string\n"
" A new name for the server certificate.\n"
-"NewPath: string\n"
+"--NewPath: string\n"
" A new path for the server certificate.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LinkRouteTableId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LinkRouteTableId: string\n"
" The ID of the current route table link.\n"
-"RouteTableId: string\n"
+"--RouteTableId: string\n"
" The ID of the new route table to associate with the Subnet.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Enable: bool\n"
- " If true, a virtual gateway can propagate routes to a specified route \n"
- " table of a Net. If false, the propagation is disabled.\n"
-"RouteTableId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Enable: bool\n"
+ " If true, a virtual gateway can propagate routes to a specified route table of a Net. If \n"
+ " false, the propagation is disabled.\n"
+"--RouteTableId: string\n"
" The ID of the route table.\n"
-"VirtualGatewayId: string\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway.\n"
,
- "DestinationIpRange: string\n"
- " The IP range used for the destination match, in CIDR notation (for \n"
- " example, `10.0.0.0/24`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"GatewayId: string\n"
+ "--DestinationIpRange: string\n"
+ " The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--GatewayId: string\n"
" The ID of an Internet service or virtual gateway attached to your Net.\n"
-"NatServiceId: string\n"
+"--NatServiceId: string\n"
" The ID of a NAT service.\n"
-"NetPeeringId: string\n"
+"--NetPeeringId: string\n"
" The ID of a Net peering.\n"
-"NicId: string\n"
+"--NicId: string\n"
" The ID of a network interface card (NIC).\n"
-"RouteTableId: string\n"
+"--RouteTableId: string\n"
" The ID of the route table.\n"
-"VmId: string\n"
+"--VmId: string\n"
" The ID of a NAT VM in your Net.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A new description for the NIC.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LinkNic: ref LinkNicToUpdate\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LinkNic: ref LinkNicToUpdate\n"
" Information about the NIC attachment. If you are modifying the \n"
- " `DeleteOnVmDeletion` attribute, you must specify the ID of the \n"
- " NIC attachment.\n"
- " -DeleteOnVmDeletion: bool\n"
- " If true, the NIC is deleted when the VM is terminated. If \n"
- " false, the NIC is detached from the VM.\n"
- " -LinkNicId: string\n"
+ " `DeleteOnVmDeletion` attribute, you must specify the ID of the NIC \n"
+ " attachment.\n"
+ " --LinkNic.DeleteOnVmDeletion: bool\n"
+ " If true, the NIC is deleted when the VM is terminated. If false, the NIC \n"
+ " is detached from the VM.\n"
+ " --LinkNic.LinkNicId: string\n"
" The ID of the NIC attachment.\n"
-"NicId: string\n"
+"--NicId: string\n"
" The ID of the NIC you want to modify.\n"
-"SecurityGroupIds: array string\n"
- " One or more IDs of security groups for the NIC.\nYou must specify at \n"
- " least one group, even if you use the default security group in the Net.\n"
-,
- "AddRouteTableIds: array string\n"
- " One or more IDs of route tables to associate with the specified Net \n"
- " access point.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetAccessPointId: string\n"
+"--SecurityGroupIds: array string\n"
+ " One or more IDs of security groups for the NIC.\nYou must specify at least one group, even \n"
+ " if you use the default security group in the Net.\n"
+,
+ "--AddRouteTableIds: array string\n"
+ " One or more IDs of route tables to associate with the specified Net access point.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetAccessPointId: string\n"
" The ID of the Net access point.\n"
-"RemoveRouteTableIds: array string\n"
- " One or more IDs of route tables to disassociate from the specified Net \n"
- " access point.\n"
-,
- "DhcpOptionsSetId: string\n"
- " The ID of the DHCP options set (or `default` if you want to associate \n"
- " the default one).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+"--RemoveRouteTableIds: array string\n"
+ " One or more IDs of route tables to disassociate from the specified Net access point.\n"
+,
+ "--DhcpOptionsSetId: string\n"
+ " The ID of the DHCP options set (or `default` if you want to associate the default one).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net.\n"
,
- "AccessLog: ref AccessLog\n"
+ "--AccessLog: ref AccessLog\n"
" Information about access logs.\n"
- " -IsEnabled: bool\n"
- " If true, access logs are enabled for your load balancer. If \n"
- " false, they are not. If you set this to true in your request, \n"
- " the `OsuBucketName` parameter is required.\n"
- " -OsuBucketName: string\n"
+ " --AccessLog.IsEnabled: bool\n"
+ " If true, access logs are enabled for your load balancer. If false, they \n"
+ " are not. If you set this to true in your request, the `OsuBucketName` \n"
+ " parameter is required.\n"
+ " --AccessLog.OsuBucketName: string\n"
" The name of the OOS bucket for the access logs.\n"
- " -OsuBucketPrefix: string\n"
- " The path to the folder of the access logs in your OOS bucket \n"
- " (by default, the `root` level of your bucket).\n"
- " -PublicationInterval: int\n"
- " The time interval for the publication of access logs in the \n"
- " OOS bucket, in minutes. This value can be either `5` or `60` \n"
- " (by default, `60`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"HealthCheck: ref HealthCheck\n"
+ " --AccessLog.OsuBucketPrefix: string\n"
+ " The path to the folder of the access logs in your OOS bucket (by \n"
+ " default, the `root` level of your bucket).\n"
+ " --AccessLog.PublicationInterval: int\n"
+ " The time interval for the publication of access logs in the OOS bucket, \n"
+ " in minutes. This value can be either `5` or `60` (by default, `60`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--HealthCheck: ref HealthCheck\n"
" Information about the health check configuration.\n"
- " -CheckInterval: int\n"
- " The number of seconds between two requests (between `5` and \n"
- " `600` both included).\n"
- " -HealthyThreshold: int\n"
- " The number of consecutive successful requests before \n"
- " considering the VM as healthy (between `2` and `10` both \n"
+ " --HealthCheck.CheckInterval: int\n"
+ " The number of seconds between two requests (between `5` and `600` both \n"
" included).\n"
- " -Path: string\n"
+ " --HealthCheck.HealthyThreshold: int\n"
+ " The number of consecutive successful requests before considering the VM \n"
+ " as healthy (between `2` and `10` both included).\n"
+ " --HealthCheck.Path: string\n"
" If you use the HTTP or HTTPS protocols, the request URL path.\n"
- " -Port: int\n"
+ " --HealthCheck.Port: int\n"
" The port number (between `1` and `65535`, both included).\n"
- " -Protocol: string\n"
- " The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| \n"
- " `TCP` \\| `SSL`).\n"
- " -Timeout: int\n"
- " The maximum waiting time for a response before considering the \n"
- " VM as unhealthy, in seconds (between `2` and `60` both \n"
- " included).\n"
- " -UnhealthyThreshold: int\n"
- " The number of consecutive failed requests before considering \n"
- " the VM as unhealthy (between `2` and `10` both included).\n"
-"LoadBalancerName: string\n"
+ " --HealthCheck.Protocol: string\n"
+ " The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\| \n"
+ " `SSL`).\n"
+ " --HealthCheck.Timeout: int\n"
+ " The maximum waiting time for a response before considering the VM as \n"
+ " unhealthy, in seconds (between `2` and `60` both included).\n"
+ " --HealthCheck.UnhealthyThreshold: int\n"
+ " The number of consecutive failed requests before considering the VM as \n"
+ " unhealthy (between `2` and `10` both included).\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
-"LoadBalancerPort: int\n"
- " The port on which the load balancer is listening (between `1` and \n"
- " `65535`, both included). This parameter is required if you want to \n"
- " update the server certificate.\n"
-"PolicyNames: array string\n"
+"--LoadBalancerPort: int\n"
+ " The port on which the load balancer is listening (between `1` and `65535`, both included). \n"
+ " This parameter is required if you want to update the server certificate.\n"
+"--PolicyNames: array string\n"
" The name of the policy you want to enable for the listener.\n"
-"PublicIp: string\n"
- " (internet-facing only) The public IP you want to associate with the \n"
- " load balancer. The former public IP of the load balancer is then \n"
- " disassociated. If you specify an empty string and the former public IP \n"
- " belonged to you, it is disassociated and replaced by a public IP owned \n"
- " by 3DS OUTSCALE.\n"
-"SecuredCookies: bool\n"
+"--PublicIp: string\n"
+ " (internet-facing only) The public IP you want to associate with the load balancer. The \n"
+ " former public IP of the load balancer is then disassociated. If you specify an empty string \n"
+ " and the former public IP belonged to you, it is disassociated and replaced by a public IP \n"
+ " owned by 3DS OUTSCALE.\n"
+"--SecuredCookies: bool\n"
" If true, secure cookies are enabled for the load balancer.\n"
-"SecurityGroups: array string\n"
- " (Net only) One or more IDs of security groups you want to assign to the \n"
- " load balancer. You need to specify the already assigned security groups \n"
- " that you want to keep along with the new ones you are assigning. If the \n"
- " list is empty, the default security group of the Net is assigned to the \n"
- " load balancer.\n"
-"ServerCertificateId: string\n"
- " The OUTSCALE Resource Name (ORN) of the server certificate. For more \n"
- " information, see [Resource Identifiers > OUTSCALE Resource Names \n"
- " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html\n"
- " #_outscale_resource_names_orns). If this parameter is specified, you \n"
- " must also specify the `LoadBalancerPort` parameter.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"HostPattern: string\n"
- " A host-name pattern for the rule, with a maximum length of 128 \n"
- " characters. This host-name pattern supports maximum three wildcards, \n"
- " and must not contain any special characters except [-.?].\n"
-"ListenerRuleName: string\n"
+"--SecurityGroups: array string\n"
+ " (Net only) One or more IDs of security groups you want to assign to the load balancer. You \n"
+ " need to specify the already assigned security groups that you want to keep along with the \n"
+ " new ones you are assigning. If the list is empty, the default security group of the Net is \n"
+ " assigned to the load balancer.\n"
+"--ServerCertificateId: string\n"
+ " The OUTSCALE Resource Name (ORN) of the server certificate. For more information, see \n"
+ " [Resource Identifiers > OUTSCALE Resource Names \n"
+ " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_outscale_resource_\n"
+ " names_orns). If this parameter is specified, you must also specify the `LoadBalancerPort` \n"
+ " parameter.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--HostPattern: string\n"
+ " A host-name pattern for the rule, with a maximum length of 128 characters. This host-name \n"
+ " pattern supports maximum three wildcards, and must not contain any special characters \n"
+ " except [-.?].\n"
+"--ListenerRuleName: string\n"
" The name of the listener rule.\n"
-"PathPattern: string\n"
- " A path pattern for the rule, with a maximum length of 128 characters. \n"
- " This path pattern supports maximum three wildcards, and must not \n"
- " contain any special characters except [_-.$/~\"'@:+?].\n"
+"--PathPattern: string\n"
+ " A path pattern for the rule, with a maximum length of 128 characters. This path pattern \n"
+ " supports maximum three wildcards, and must not contain any special characters except \n"
+ " [_-.$/~\"'@:+?].\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A new description for the image.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ImageId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ImageId: string\n"
" The ID of the OMI you want to modify.\n"
-"PermissionsToLaunch: ref PermissionsOnResourceCreation\n"
- " Information about the permissions for the resource.
\nSpecify either the `Additions` or the `Removals` parameter.\n"
- " -Additions: ref PermissionsOnResource\n"
+"--PermissionsToLaunch: ref PermissionsOnResourceCreation\n"
+ " Information about the permissions for the resource.\nSpecify \n"
+ " either the `Additions` or the `Removals` parameter.\n"
+ " --PermissionsToLaunch.Additions: ref PermissionsOnResource\n"
" Permissions for the resource.\n"
- " -AccountIds: array string\n"
- " One or more account IDs that the permission is associated \n"
- " with.\n"
- " -GlobalPermission: bool\n"
- " A global permission for all accounts.\n(Request) Set \n"
- " this parameter to true to make the resource public (if the \n"
- " parent parameter is `Additions`) or to make the resource \n"
- " private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the \n"
- " resource is private.\n"
- " -Removals: ref PermissionsOnResource\n"
+ " --PermissionsToLaunch.Additions.AccountIds: array string\n"
+ " One or more account IDs that the permission is associated with.\n"
+ " --PermissionsToLaunch.Additions.GlobalPermission: bool\n"
+ " A global permission for all accounts.\n(Request) Set this \n"
+ " parameter to true to make the resource public (if the parent parameter is \n"
+ " `Additions`) or to make the resource private (if the parent parameter is \n"
+ " `Removals`).\n(Response) If true, the resource is public. If false, \n"
+ " the resource is private.\n"
+ " --PermissionsToLaunch.Removals: ref PermissionsOnResource\n"
" Permissions for the resource.\n"
- " -AccountIds: array string\n"
- " One or more account IDs that the permission is associated \n"
- " with.\n"
- " -GlobalPermission: bool\n"
- " A global permission for all accounts.\n(Request) Set \n"
- " this parameter to true to make the resource public (if the \n"
- " parent parameter is `Additions`) or to make the resource \n"
- " private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the \n"
- " resource is private.\n"
-,
- "DeleteOnVmDeletion: bool\n"
+ " --PermissionsToLaunch.Removals.AccountIds: array string\n"
+ " One or more account IDs that the permission is associated with.\n"
+ " --PermissionsToLaunch.Removals.GlobalPermission: bool\n"
+ " A global permission for all accounts.\n(Request) Set this \n"
+ " parameter to true to make the resource public (if the parent parameter is \n"
+ " `Additions`) or to make the resource private (if the parent parameter is \n"
+ " `Removals`).\n(Response) If true, the resource is public. If false, \n"
+ " the resource is private.\n"
+,
+ "--DeleteOnVmDeletion: bool\n"
" If true, the fGPU is deleted when the VM is terminated.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FlexibleGpuId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FlexibleGpuId: string\n"
" The ID of the fGPU you want to modify.\n"
,
- "DirectLinkInterfaceId: string\n"
+ "--DirectLinkInterfaceId: string\n"
" The ID of the DirectLink interface you want to update.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Mtu: int\n"
- " The maximum transmission unit (MTU) of the DirectLink interface, in \n"
- " bytes (always `1500`).\n"
-,
- "DedicatedGroupId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Mtu: int\n"
+ " The maximum transmission unit (MTU) of the DirectLink interface, in bytes (always `1500`).\n"
+,
+ "--DedicatedGroupId: string\n"
" The ID of the dedicated group you want to update.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Name: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Name: string\n"
" The new name of the dedicated group.\n"
,
- "CaId: string\n"
+ "--CaId: string\n"
" The ID of the CA.\n"
-"Description: string\n"
+"--Description: string\n"
" The description of the CA.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "ApiAccessRuleId: string\n"
+ "--ApiAccessRuleId: string\n"
" The ID of the API access rule you want to update.\n"
-"CaIds: array string\n"
+"--CaIds: array string\n"
" One or more IDs of Client Certificate Authorities (CAs).\n"
-"Cns: array string\n"
+"--Cns: array string\n"
" One or more Client Certificate Common Names (CNs).\n"
-"Description: string\n"
+"--Description: string\n"
" A new description for the API access rule.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"IpRanges: array string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--IpRanges: array string\n"
" One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"MaxAccessKeyExpirationSeconds: int\n"
- " The maximum possible lifetime for your access keys, in seconds (between \n"
- " `0` and `3153600000`, both included). If set to `O`, your access keys \n"
- " can have unlimited lifetimes, but a trusted session cannot be \n"
- " activated. Otherwise, all your access keys must have an expiration \n"
- " date. This value must be greater than the remaining lifetime of each \n"
- " access key of your account.\n"
-"RequireTrustedEnv: bool\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--MaxAccessKeyExpirationSeconds: int\n"
+ " The maximum possible lifetime for your access keys, in seconds (between `0` and \n"
+ " `3153600000`, both included). If set to `O`, your access keys can have unlimited lifetimes, \n"
+ " but a trusted session cannot be activated. Otherwise, all your access keys must have an \n"
+ " expiration date. This value must be greater than the remaining lifetime of each access key \n"
+ " of your account.\n"
+"--RequireTrustedEnv: bool\n"
" If true, a trusted session is activated, provided that you specify the \n"
- " `MaxAccessKeyExpirationSeconds` parameter with a value greater than \n"
- " `0`.\nEnabling this will require you and all your users to log in to \n"
- " Cockpit v2 using the WebAuthn method for multi-factor authentication. \n"
- " For more information, see [About Authentication > Multi-Factor \n"
- " Authentication](https://docs.outscale.com/en/userguide/About-Authenticat\n"
- " ion.html#_multi_factor_authentication).\n"
-,
- "AdditionalEmails: array string\n"
- " One or more additional email addresses for the account. These addresses \n"
- " are used for notifications only. If you already have a list of \n"
- " additional emails registered, you cannot add to it, only replace it. To \n"
- " remove all registered additional emails, specify an empty list.\n"
-"City: string\n"
+ " `MaxAccessKeyExpirationSeconds` parameter with a value greater than `0`.\nEnabling this \n"
+ " will require you and all your users to log in to Cockpit v2 using the WebAuthn method for \n"
+ " multi-factor authentication. For more information, see [About Authentication > Multi-Factor \n"
+ " Authentication](https://docs.outscale.com/en/userguide/About-Authentication.html#_multi_fact\n"
+ " or_authentication).\n"
+,
+ "--AdditionalEmails: array string\n"
+ " One or more additional email addresses for the account. These addresses are used for \n"
+ " notifications only. If you already have a list of additional emails registered, you cannot \n"
+ " add to it, only replace it. To remove all registered additional emails, specify an empty \n"
+ " list.\n"
+"--City: string\n"
" The new city of the account owner.\n"
-"CompanyName: string\n"
+"--CompanyName: string\n"
" The new name of the company for the account.\n"
-"Country: string\n"
+"--Country: string\n"
" The new country of the account owner.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Email: string\n"
- " The main email address for the account. This address is used for your \n"
- " credentials and notifications.\n"
-"FirstName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Email: string\n"
+ " The main email address for the account. This address is used for your credentials and \n"
+ " notifications.\n"
+"--FirstName: string\n"
" The new first name of the account owner.\n"
-"JobTitle: string\n"
+"--JobTitle: string\n"
" The new job title of the account owner.\n"
-"LastName: string\n"
+"--LastName: string\n"
" The new last name of the account owner.\n"
-"MobileNumber: string\n"
+"--MobileNumber: string\n"
" The new mobile phone number of the account owner.\n"
-"PhoneNumber: string\n"
+"--PhoneNumber: string\n"
" The new landline phone number of the account owner.\n"
-"StateProvince: string\n"
+"--StateProvince: string\n"
" The new state/province of the account owner.\n"
-"VatNumber: string\n"
+"--VatNumber: string\n"
" The new value added tax (VAT) number for the account.\n"
-"ZipCode: string\n"
+"--ZipCode: string\n"
" The new ZIP code of the city.\n"
,
- "AccessKeyId: string\n"
+ "--AccessKeyId: string\n"
" The ID of the access key.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ExpirationDate: string\n"
- " The date and time, or the date, at which you want the access key to \n"
- " expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z` or \n"
- " `2020-06-14`). If not specified, the access key is set to not expire.\n"
-"State: string\n"
- " The new state for the access key (`ACTIVE` \\| `INACTIVE`). When set to \n"
- " `ACTIVE`, the access key is enabled and can be used to send requests. \n"
- " When set to `INACTIVE`, the access key is disabled.\n"
-"UserName: string\n"
- " The name of the EIM user that the access key you want to modify is \n"
- " associated with. If you do not specify a user name, this action \n"
- " modifies the access key of the user who sends the request (which can be \n"
- " the root account).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ForceUnlink: bool\n"
- " Forces the detachment of the volume in case of previous failure. \n"
- " Important: This action may damage your data or file systems.\n"
-"VolumeId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ExpirationDate: string\n"
+ " The date and time, or the date, at which you want the access key to expire, in ISO 8601 \n"
+ " format (for example, `2020-06-14T00:00:00.000Z` or `2020-06-14`). If not specified, the \n"
+ " access key is set to not expire.\n"
+"--State: string\n"
+ " The new state for the access key (`ACTIVE` \\| `INACTIVE`). When set to `ACTIVE`, the \n"
+ " access key is enabled and can be used to send requests. When set to `INACTIVE`, the access \n"
+ " key is disabled.\n"
+"--UserName: string\n"
+ " The name of the EIM user that the access key you want to modify is associated with. If you \n"
+ " do not specify a user name, this action modifies the access key of the user who sends the \n"
+ " request (which can be the root account).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ForceUnlink: bool\n"
+ " Forces the detachment of the volume in case of previous failure. Important: This action may \n"
+ " damage your data or file systems.\n"
+"--VolumeId: string\n"
" The ID of the volume you want to detach.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net from which you want to detach the virtual gateway.\n"
-"VirtualGatewayId: string\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LinkRouteTableId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LinkRouteTableId: string\n"
" The ID of the association between the route table and the Subnet.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LinkPublicIpId: string\n"
- " The ID representing the association of the public IP with the VM or the \n"
- " NIC. This parameter is required unless you use the `PublicIp` parameter.\n"
-"PublicIp: string\n"
- " The public IP. This parameter is required unless you use the \n"
- " `LinkPublicIpId` parameter.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NicId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LinkPublicIpId: string\n"
+ " The ID representing the association of the public IP with the VM or the NIC. This parameter \n"
+ " is required unless you use the `PublicIp` parameter.\n"
+"--PublicIp: string\n"
+ " The public IP. This parameter is required unless you use the `LinkPublicIpId` parameter.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NicId: string\n"
" The ID of the NIC.\n"
-"PrivateIps: array string\n"
+"--PrivateIps: array string\n"
" One or more secondary private IPs you want to unassign from the NIC.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"UserName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--UserName: string\n"
" The name of the user you want to detach the policy from.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LinkNicId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LinkNicId: string\n"
" The ID of the attachment operation.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"UserGroupName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--UserGroupName: string\n"
" The name of the group you want to unlink the policy from.\n"
,
- "BackendIps: array string\n"
+ "--BackendIps: array string\n"
" One or more public IPs of backend VMs.\n"
-"BackendVmIds: array string\n"
+"--BackendVmIds: array string\n"
" One or more IDs of backend VMs.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"InternetServiceId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--InternetServiceId: string\n"
" The ID of the Internet service you want to detach.\n"
-"NetId: string\n"
+"--NetId: string\n"
" The ID of the Net from which you want to detach the Internet service.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FlexibleGpuId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FlexibleGpuId: string\n"
" The ID of the fGPU you want to detach from your VM.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ForceStop: bool\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ForceStop: bool\n"
" Forces the VM to stop.\n"
-"VmIds: array string\n"
+"--VmIds: array string\n"
" One or more IDs of VMs.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmIds: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmIds: array string\n"
" One or more IDs of VMs.\n"
,
- "PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"VersionId: string\n"
+ "--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--VersionId: string\n"
" The ID of the version.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmAddition: int\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmAddition: int\n"
" The number of VMs you want to add to the VM group.\n"
-"VmGroupId: string\n"
+"--VmGroupId: string\n"
" The ID of the VM group you want to scale up.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmGroupId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmGroupId: string\n"
" The ID of the VM group you want to scale down.\n"
-"VmSubtraction: int\n"
+"--VmSubtraction: int\n"
" The number of VMs you want to delete from the VM group.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"UserGroupName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--UserGroupName: string\n"
" The name of the group you want to remove the user from.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserName: string\n"
+"--UserName: string\n"
" The name of the user you want to remove from the group.\n"
-"UserPath: string\n"
+"--UserPath: string\n"
" The path to the user (by default, `/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetPeeringId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetPeeringId: string\n"
" The ID of the Net peering you want to reject.\n"
,
- "BackendVmIds: array string\n"
- " One or more IDs of backend VMs.\nSpecifying the same ID several times \n"
- " has no effect as each backend VM has equal weight.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+ "--BackendVmIds: array string\n"
+ " One or more IDs of backend VMs.\nSpecifying the same ID several times has no effect as each \n"
+ " backend VM has equal weight.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmIds: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmIds: array string\n"
" One or more IDs of the VMs you want to reboot.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVpnConnection\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVpnConnection\n"
" One or more filters.\n"
- " -BgpAsns: array integer\n"
- " The Border Gateway Protocol (BGP) Autonomous System Numbers \n"
- " (ASNs) of the connections.\n"
- " -ClientGatewayIds: array string\n"
+ " --Filters.BgpAsns: array integer\n"
+ " The Border Gateway Protocol (BGP) Autonomous System Numbers (ASNs) of \n"
+ " the connections.\n"
+ " --Filters.ClientGatewayIds: array string\n"
" The IDs of the client gateways.\n"
- " -ConnectionTypes: array string\n"
- " The types of the VPN connections (only `ipsec.1` is \n"
- " supported).\n"
- " -RouteDestinationIpRanges: array string\n"
+ " --Filters.ConnectionTypes: array string\n"
+ " The types of the VPN connections (only `ipsec.1` is supported).\n"
+ " --Filters.RouteDestinationIpRanges: array string\n"
" The destination IP ranges.\n"
- " -States: array string\n"
- " The states of the VPN connections (`pending` \\| `available` \n"
- " \\| `deleting` \\| `deleted`).\n"
- " -StaticRoutesOnly: bool\n"
- " If false, the VPN connection uses dynamic routing with Border \n"
- " Gateway Protocol (BGP). If true, routing is controlled using \n"
- " static routes. For more information about how to create and \n"
- " delete static routes, see \n"
+ " --Filters.States: array string\n"
+ " The states of the VPN connections (`pending` \\| `available` \\| \n"
+ " `deleting` \\| `deleted`).\n"
+ " --Filters.StaticRoutesOnly: bool\n"
+ " If false, the VPN connection uses dynamic routing with Border Gateway \n"
+ " Protocol (BGP). If true, routing is controlled using static routes. For \n"
+ " more information about how to create and delete static routes, see \n"
" [CreateVpnConnectionRoute](#createvpnconnectionroute) and \n"
" [DeleteVpnConnectionRoute](#deletevpnconnectionroute).\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the VPN connections.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the VPN connections.\n"
- " -Tags: array string\n"
+ " --Filters.Tags: array string\n"
" The key/value combination of the tags associated with the VPN \n"
" connections, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VirtualGatewayIds: array string\n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VirtualGatewayIds: array string\n"
" The IDs of the virtual gateways.\n"
- " -VpnConnectionIds: array string\n"
+ " --Filters.VpnConnectionIds: array string\n"
" The IDs of the VPN connections.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVolume\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVolume\n"
" One or more filters.\n"
- " -CreationDates: array string\n"
- " The dates and times of creation of the volumes, in ISO 8601 \n"
- " date-time format (for example, `2020-06-30T00:00:00.000Z`).\n"
- " -LinkVolumeDeleteOnVmDeletion: bool\n"
- " Whether the volumes are deleted or not when terminating the \n"
- " VMs.\n"
- " -LinkVolumeDeviceNames: array string\n"
+ " --Filters.CreationDates: array string\n"
+ " The dates and times of creation of the volumes, in ISO 8601 date-time \n"
+ " format (for example, `2020-06-30T00:00:00.000Z`).\n"
+ " --Filters.LinkVolumeDeleteOnVmDeletion: bool\n"
+ " Whether the volumes are deleted or not when terminating the VMs.\n"
+ " --Filters.LinkVolumeDeviceNames: array string\n"
" The VM device names.\n"
- " -LinkVolumeLinkDates: array string\n"
- " The dates and times of creation of the volumes, in ISO 8601 \n"
- " date-time format (for example, `2020-06-30T00:00:00.000Z`).\n"
- " -LinkVolumeLinkStates: array string\n"
- " The attachment states of the volumes (`attaching` \\| \n"
- " `detaching` \\| `attached` \\| `detached`).\n"
- " -LinkVolumeVmIds: array string\n"
+ " --Filters.LinkVolumeLinkDates: array string\n"
+ " The dates and times of creation of the volumes, in ISO 8601 date-time \n"
+ " format (for example, `2020-06-30T00:00:00.000Z`).\n"
+ " --Filters.LinkVolumeLinkStates: array string\n"
+ " The attachment states of the volumes (`attaching` \\| `detaching` \\| \n"
+ " `attached` \\| `detached`).\n"
+ " --Filters.LinkVolumeVmIds: array string\n"
" One or more IDs of VMs.\n"
- " -SnapshotIds: array string\n"
+ " --Filters.SnapshotIds: array string\n"
" The snapshots from which the volumes were created.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The names of the Subregions in which the volumes were created.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the volumes.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the volumes.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " volumes, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VolumeIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the volumes, in \n"
+ " the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VolumeIds: array string\n"
" The IDs of the volumes.\n"
- " -VolumeSizes: array integer\n"
+ " --Filters.VolumeSizes: array integer\n"
" The sizes of the volumes, in gibibytes (GiB).\n"
- " -VolumeStates: array string\n"
- " The states of the volumes (`creating` \\| `available` \\| \n"
- " `in-use` \\| `updating` \\| `deleting` \\| `error`).\n"
- " -VolumeTypes: array string\n"
+ " --Filters.VolumeStates: array string\n"
+ " The states of the volumes (`creating` \\| `available` \\| `in-use` \\| \n"
+ " `updating` \\| `deleting` \\| `error`).\n"
+ " --Filters.VolumeTypes: array string\n"
" The types of the volumes (`standard` \\| `gp2` \\| `io1`).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "AllVms: bool\n"
- " If true, includes the status of all VMs. By default or if set to false, \n"
- " only includes the status of running VMs.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVmsState\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--AllVms: bool\n"
+ " If true, includes the status of all VMs. By default or if set to false, only includes the \n"
+ " status of running VMs.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVmsState\n"
" One or more filters.\n"
- " -MaintenanceEventCodes: array string\n"
+ " --Filters.MaintenanceEventCodes: array string\n"
" The code for the scheduled event (`system-reboot` \\| \n"
" `system-maintenance`).\n"
- " -MaintenanceEventDescriptions: array string\n"
+ " --Filters.MaintenanceEventDescriptions: array string\n"
" The description of the scheduled event.\n"
- " -MaintenanceEventsNotAfter: array string\n"
+ " --Filters.MaintenanceEventsNotAfter: array string\n"
" The latest date and time (UTC) the event can end.\n"
- " -MaintenanceEventsNotBefore: array string\n"
+ " --Filters.MaintenanceEventsNotBefore: array string\n"
" The earliest date and time (UTC) the event can start.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The names of the Subregions of the VMs.\n"
- " -VmIds: array string\n"
+ " --Filters.VmIds: array string\n"
" One or more IDs of VMs.\n"
- " -VmStates: array string\n"
- " The states of the VMs (`pending` \\| `running` \\| `stopping` \n"
- " \\| `stopped` \\| `shutting-down` \\| `terminated` \\| \n"
- " `quarantine`).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "BackendVmIds: array string\n"
+ " --Filters.VmStates: array string\n"
+ " The states of the VMs (`pending` \\| `running` \\| `stopping` \\| \n"
+ " `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--BackendVmIds: array string\n"
" One or more IDs of backend VMs.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVm\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVm\n"
" One or more filters.\n"
- " -Architectures: array string\n"
+ " --Filters.Architectures: array string\n"
" The architectures of the VMs (`i386` \\| `x86_64`).\n"
- " -BlockDeviceMappingDeleteOnVmDeletion: bool\n"
+ " --Filters.BlockDeviceMappingDeleteOnVmDeletion: bool\n"
" Whether the BSU volumes are deleted when terminating the VMs.\n"
- " -BlockDeviceMappingDeviceNames: array string\n"
- " The device names for the BSU volumes (in the format \n"
- " `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).\n"
- " -BlockDeviceMappingLinkDates: array string\n"
- " The link dates for the BSU volumes mapped to the VMs (for \n"
- " example, `2016-01-23T18:45:30.000Z`).\n"
- " -BlockDeviceMappingStates: array string\n"
+ " --Filters.BlockDeviceMappingDeviceNames: array string\n"
+ " The device names for the BSU volumes (in the format `/dev/sdX`, \n"
+ " `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).\n"
+ " --Filters.BlockDeviceMappingLinkDates: array string\n"
+ " The link dates for the BSU volumes mapped to the VMs (for example, \n"
+ " `2016-01-23T18:45:30.000Z`).\n"
+ " --Filters.BlockDeviceMappingStates: array string\n"
" The states for the BSU volumes (`attaching` \\| `attached` \\| \n"
" `detaching` \\| `detached`).\n"
- " -BlockDeviceMappingVolumeIds: array string\n"
+ " --Filters.BlockDeviceMappingVolumeIds: array string\n"
" The volume IDs of the BSU volumes.\n"
- " -ClientTokens: array string\n"
+ " --Filters.ClientTokens: array string\n"
" The idempotency tokens provided when launching the VMs.\n"
- " -CreationDates: array string\n"
+ " --Filters.CreationDates: array string\n"
" The dates when the VMs were launched.\n"
- " -ImageIds: array string\n"
+ " --Filters.ImageIds: array string\n"
" The IDs of the OMIs used to launch the VMs.\n"
- " -IsSourceDestChecked: bool\n"
- " Whether the source/destination checking is enabled (true) or \n"
- " disabled (false).\n"
- " -KeypairNames: array string\n"
+ " --Filters.IsSourceDestChecked: bool\n"
+ " Whether the source/destination checking is enabled (true) or disabled \n"
+ " (false).\n"
+ " --Filters.KeypairNames: array string\n"
" The names of the keypairs used when launching the VMs.\n"
- " -LaunchNumbers: array integer\n"
- " The numbers for the VMs when launching a group of several VMs \n"
- " (for example, `0`, `1`, `2`, and so on).\n"
- " -Lifecycles: array string\n"
+ " --Filters.LaunchNumbers: array integer\n"
+ " The numbers for the VMs when launching a group of several VMs (for \n"
+ " example, `0`, `1`, `2`, and so on).\n"
+ " --Filters.Lifecycles: array string\n"
" Whether the VMs are Spot Instances (spot).\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets in which the VMs are running.\n"
- " -NicAccountIds: array string\n"
+ " --Filters.NicAccountIds: array string\n"
" The IDs of the NICs.\n"
- " -NicDescriptions: array string\n"
+ " --Filters.NicDescriptions: array string\n"
" The descriptions of the NICs.\n"
- " -NicIsSourceDestChecked: bool\n"
- " Whether the source/destination checking is enabled (true) or \n"
- " disabled (false).\n"
- " -NicLinkNicDeleteOnVmDeletion: bool\n"
- " Whether the NICs are deleted when the VMs they are attached to \n"
- " are deleted.\n"
- " -NicLinkNicDeviceNumbers: array integer\n"
+ " --Filters.NicIsSourceDestChecked: bool\n"
+ " Whether the source/destination checking is enabled (true) or disabled \n"
+ " (false).\n"
+ " --Filters.NicLinkNicDeleteOnVmDeletion: bool\n"
+ " Whether the NICs are deleted when the VMs they are attached to are \n"
+ " deleted.\n"
+ " --Filters.NicLinkNicDeviceNumbers: array integer\n"
" The device numbers the NICs are attached to.\n"
- " -NicLinkNicLinkNicDates: array string\n"
- " The dates and times (UTC) when the NICs were attached to the \n"
- " VMs.\n"
- " -NicLinkNicLinkNicIds: array string\n"
+ " --Filters.NicLinkNicLinkNicDates: array string\n"
+ " The dates and times (UTC) when the NICs were attached to the VMs.\n"
+ " --Filters.NicLinkNicLinkNicIds: array string\n"
" The IDs of the NIC attachments.\n"
- " -NicLinkNicStates: array string\n"
+ " --Filters.NicLinkNicStates: array string\n"
" The states of the attachments.\n"
- " -NicLinkNicVmAccountIds: array string\n"
- " The account IDs of the owners of the VMs the NICs are attached \n"
- " to.\n"
- " -NicLinkNicVmIds: array string\n"
+ " --Filters.NicLinkNicVmAccountIds: array string\n"
+ " The account IDs of the owners of the VMs the NICs are attached to.\n"
+ " --Filters.NicLinkNicVmIds: array string\n"
" The IDs of the VMs the NICs are attached to.\n"
- " -NicLinkPublicIpAccountIds: array string\n"
- " The account IDs of the owners of the public IPs associated \n"
- " with the NICs.\n"
- " -NicLinkPublicIpLinkPublicIpIds: array string\n"
- " The association IDs returned when the public IPs were \n"
- " associated with the NICs.\n"
- " -NicLinkPublicIpPublicIpIds: array string\n"
- " The allocation IDs returned when the public IPs were allocated \n"
- " to their accounts.\n"
- " -NicLinkPublicIpPublicIps: array string\n"
+ " --Filters.NicLinkPublicIpAccountIds: array string\n"
+ " The account IDs of the owners of the public IPs associated with the \n"
+ " NICs.\n"
+ " --Filters.NicLinkPublicIpLinkPublicIpIds: array string\n"
+ " The association IDs returned when the public IPs were associated with \n"
+ " the NICs.\n"
+ " --Filters.NicLinkPublicIpPublicIpIds: array string\n"
+ " The allocation IDs returned when the public IPs were allocated to their \n"
+ " accounts.\n"
+ " --Filters.NicLinkPublicIpPublicIps: array string\n"
" The public IPs associated with the NICs.\n"
- " -NicMacAddresses: array string\n"
+ " --Filters.NicMacAddresses: array string\n"
" The Media Access Control (MAC) addresses of the NICs.\n"
- " -NicNetIds: array string\n"
+ " --Filters.NicNetIds: array string\n"
" The IDs of the Nets where the NICs are located.\n"
- " -NicNicIds: array string\n"
+ " --Filters.NicNicIds: array string\n"
" The IDs of the NICs.\n"
- " -NicPrivateIpsLinkPublicIpAccountIds: array string\n"
- " The account IDs of the owner of the public IPs associated with \n"
- " the private IPs.\n"
- " -NicPrivateIpsLinkPublicIpIds: array string\n"
+ " --Filters.NicPrivateIpsLinkPublicIpAccountIds: array string\n"
+ " The account IDs of the owner of the public IPs associated with the \n"
+ " private IPs.\n"
+ " --Filters.NicPrivateIpsLinkPublicIpIds: array string\n"
" The public IPs associated with the private IPs.\n"
- " -NicPrivateIpsPrimaryIp: bool\n"
- " Whether the private IPs are the primary IPs associated with \n"
- " the NICs.\n"
- " -NicPrivateIpsPrivateIps: array string\n"
+ " --Filters.NicPrivateIpsPrimaryIp: bool\n"
+ " Whether the private IPs are the primary IPs associated with the NICs.\n"
+ " --Filters.NicPrivateIpsPrivateIps: array string\n"
" The private IPs of the NICs.\n"
- " -NicSecurityGroupIds: array string\n"
+ " --Filters.NicSecurityGroupIds: array string\n"
" The IDs of the security groups associated with the NICs.\n"
- " -NicSecurityGroupNames: array string\n"
+ " --Filters.NicSecurityGroupNames: array string\n"
" The names of the security groups associated with the NICs.\n"
- " -NicStates: array string\n"
+ " --Filters.NicStates: array string\n"
" The states of the NICs (`available` \\| `in-use`).\n"
- " -NicSubnetIds: array string\n"
+ " --Filters.NicSubnetIds: array string\n"
" The IDs of the Subnets for the NICs.\n"
- " -NicSubregionNames: array string\n"
+ " --Filters.NicSubregionNames: array string\n"
" The Subregions where the NICs are located.\n"
- " -Platforms: array string\n"
- " The platforms. Use windows if you have Windows VMs. Otherwise, \n"
- " leave this filter blank.\n"
- " -PrivateIps: array string\n"
+ " --Filters.Platforms: array string\n"
+ " The platforms. Use windows if you have Windows VMs. Otherwise, leave \n"
+ " this filter blank.\n"
+ " --Filters.PrivateIps: array string\n"
" The private IPs of the VMs.\n"
- " -ProductCodes: array string\n"
- " The product codes associated with the OMI used to create the \n"
- " VMs.\n"
- " -PublicIps: array string\n"
+ " --Filters.ProductCodes: array string\n"
+ " The product codes associated with the OMI used to create the VMs.\n"
+ " --Filters.PublicIps: array string\n"
" The public IPs of the VMs.\n"
- " -ReservationIds: array string\n"
- " The IDs of the reservation of the VMs, created every time you \n"
- " launch VMs. These reservation IDs can be associated with \n"
- " several VMs when you lauch a group of VMs using the same launch \n"
- " request.\n"
- " -RootDeviceNames: array string\n"
- " The names of the root devices for the VMs (for example, \n"
- " `/dev/sda1`)\n"
- " -RootDeviceTypes: array string\n"
+ " --Filters.ReservationIds: array string\n"
+ " The IDs of the reservation of the VMs, created every time you launch \n"
+ " VMs. These reservation IDs can be associated with several VMs when you \n"
+ " lauch a group of VMs using the same launch request.\n"
+ " --Filters.RootDeviceNames: array string\n"
+ " The names of the root devices for the VMs (for example, `/dev/sda1`)\n"
+ " --Filters.RootDeviceTypes: array string\n"
" The root devices types used by the VMs (always `ebs`)\n"
- " -SecurityGroupIds: array string\n"
- " The IDs of the security groups for the VMs (only in the public \n"
- " Cloud).\n"
- " -SecurityGroupNames: array string\n"
- " The names of the security groups for the VMs (only in the \n"
- " public Cloud).\n"
- " -StateReasonCodes: array integer\n"
+ " --Filters.SecurityGroupIds: array string\n"
+ " The IDs of the security groups for the VMs (only in the public Cloud).\n"
+ " --Filters.SecurityGroupNames: array string\n"
+ " The names of the security groups for the VMs (only in the public Cloud).\n"
+ " --Filters.StateReasonCodes: array integer\n"
" The reason codes for the state changes.\n"
- " -StateReasonMessages: array string\n"
+ " --Filters.StateReasonMessages: array string\n"
" The messages describing the state changes.\n"
- " -StateReasons: array string\n"
- " The reasons explaining the current states of the VMs. This \n"
- " filter is like the `StateReasonCodes` one.\n"
- " -SubnetIds: array string\n"
+ " --Filters.StateReasons: array string\n"
+ " The reasons explaining the current states of the VMs. This filter is \n"
+ " like the `StateReasonCodes` one.\n"
+ " --Filters.SubnetIds: array string\n"
" The IDs of the Subnets for the VMs.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The names of the Subregions of the VMs.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the VMs.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the VMs.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the VMs, \n"
- " in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -Tenancies: array string\n"
- " The tenancies of the VMs (`dedicated` \\| `default` \\| \n"
- " `host`).\n"
- " -VmIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the VMs, in the \n"
+ " following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.Tenancies: array string\n"
+ " The tenancies of the VMs (`dedicated` \\| `default` \\| `host`).\n"
+ " --Filters.VmIds: array string\n"
" One or more IDs of VMs.\n"
- " -VmSecurityGroupIds: array string\n"
+ " --Filters.VmSecurityGroupIds: array string\n"
" The IDs of the security groups for the VMs.\n"
- " -VmSecurityGroupNames: array string\n"
+ " --Filters.VmSecurityGroupNames: array string\n"
" The names of the security group for the VMs.\n"
- " -VmStateCodes: array integer\n"
- " The state codes of the VMs: `-1` (quarantine), `0` (pending), \n"
- " `16` (running), `32` (shutting-down), `48` (terminated), `64` \n"
- " (stopping), and `80` (stopped).\n"
- " -VmStateNames: array string\n"
- " The state names of the VMs (`pending` \\| `running` \\| \n"
- " `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated` \n"
- " \\| `quarantine`).\n"
- " -VmTypes: array string\n"
- " The VM types (for example, t2.micro). For more information, \n"
- " see [VM \n"
+ " --Filters.VmStateCodes: array integer\n"
+ " The state codes of the VMs: `-1` (quarantine), `0` (pending), `16` \n"
+ " (running), `32` (shutting-down), `48` (terminated), `64` (stopping), and \n"
+ " `80` (stopped).\n"
+ " --Filters.VmStateNames: array string\n"
+ " The state names of the VMs (`pending` \\| `running` \\| `stopping` \\| \n"
+ " `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).\n"
+ " --Filters.VmTypes: array string\n"
+ " The VM types (for example, t2.micro). For more information, see [VM \n"
" Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVmType\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVmType\n"
" One or more filters.\n"
- " -BsuOptimized: bool\n"
- " This parameter is not available. It is present in our API for \n"
- " the sake of historical compatibility with AWS.\n"
- " -EphemeralsTypes: array string\n"
+ " --Filters.BsuOptimized: bool\n"
+ " This parameter is not available. It is present in our API for the sake \n"
+ " of historical compatibility with AWS.\n"
+ " --Filters.EphemeralsTypes: array string\n"
" The types of ephemeral storage disk.\n"
- " -Eths: array integer\n"
+ " --Filters.Eths: array integer\n"
" The number of Ethernet interfaces available.\n"
- " -Gpus: array integer\n"
+ " --Filters.Gpus: array integer\n"
" The number of GPUs available.\n"
- " -MemorySizes: array double\n"
+ " --Filters.MemorySizes: array double\n"
" The amounts of memory, in gibibytes (GiB).\n"
- " -VcoreCounts: array integer\n"
+ " --Filters.VcoreCounts: array integer\n"
" The numbers of vCores.\n"
- " -VmTypeNames: array string\n"
+ " --Filters.VmTypeNames: array string\n"
" The names of the VM types. For more information, see [VM \n"
" Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"
- " -VolumeCounts: array integer\n"
+ " --Filters.VolumeCounts: array integer\n"
" The maximum number of ephemeral storage disks.\n"
- " -VolumeSizes: array integer\n"
+ " --Filters.VolumeSizes: array integer\n"
" The size of one ephemeral storage disk, in gibibytes (GiB).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVmTemplate\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVmTemplate\n"
" null\n"
- " -CpuCores: array integer\n"
+ " --Filters.CpuCores: array integer\n"
" The number of vCores.\n"
- " -CpuGenerations: array string\n"
+ " --Filters.CpuGenerations: array string\n"
" The processor generations (for example, `v4`).\n"
- " -CpuPerformances: array string\n"
+ " --Filters.CpuPerformances: array string\n"
" The performances of the VMs.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the VM templates.\n"
- " -ImageIds: array string\n"
+ " --Filters.ImageIds: array string\n"
" The IDs of the OMIs.\n"
- " -KeypairNames: array string\n"
+ " --Filters.KeypairNames: array string\n"
" The names of the keypairs.\n"
- " -Rams: array integer\n"
+ " --Filters.Rams: array integer\n"
" The amount of RAM.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the VM templates.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the VM templates.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the VM \n"
- " templates, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VmTemplateIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the VM templates, \n"
+ " in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VmTemplateIds: array string\n"
" The IDs of the VM templates.\n"
- " -VmTemplateNames: array string\n"
+ " --Filters.VmTemplateNames: array string\n"
" The names of the VM templates.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVmGroup\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVmGroup\n"
" One or more filters.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the VM groups.\n"
- " -SecurityGroupIds: array string\n"
+ " --Filters.SecurityGroupIds: array string\n"
" The IDs of the security groups.\n"
- " -SubnetIds: array string\n"
+ " --Filters.SubnetIds: array string\n"
" The IDs of the Subnets.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the VM groups.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the VM groups.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the VMs, \n"
- " in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VmCounts: array integer\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the VMs, in the \n"
+ " following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VmCounts: array integer\n"
" The number of VMs in the VM group.\n"
- " -VmGroupIds: array string\n"
+ " --Filters.VmGroupIds: array string\n"
" The IDs of the VM groups.\n"
- " -VmGroupNames: array string\n"
+ " --Filters.VmGroupNames: array string\n"
" The names of the VM groups.\n"
- " -VmTemplateIds: array string\n"
+ " --Filters.VmTemplateIds: array string\n"
" The IDs of the VM templates.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersVirtualGateway\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersVirtualGateway\n"
" One or more filters.\n"
- " -ConnectionTypes: array string\n"
- " The types of the virtual gateways (only `ipsec.1` is \n"
- " supported).\n"
- " -LinkNetIds: array string\n"
+ " --Filters.ConnectionTypes: array string\n"
+ " The types of the virtual gateways (only `ipsec.1` is supported).\n"
+ " --Filters.LinkNetIds: array string\n"
" The IDs of the Nets the virtual gateways are attached to.\n"
- " -LinkStates: array string\n"
- " The current states of the attachments between the virtual \n"
- " gateways and the Nets (`attaching` \\| `attached` \\| \n"
- " `detaching` \\| `detached`).\n"
- " -States: array string\n"
- " The states of the virtual gateways (`pending` \\| `available` \n"
- " \\| `deleting` \\| `deleted`).\n"
- " -TagKeys: array string\n"
+ " --Filters.LinkStates: array string\n"
+ " The current states of the attachments between the virtual gateways and \n"
+ " the Nets (`attaching` \\| `attached` \\| `detaching` \\| `detached`).\n"
+ " --Filters.States: array string\n"
+ " The states of the virtual gateways (`pending` \\| `available` \\| \n"
+ " `deleting` \\| `deleted`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the virtual gateways.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the virtual gateways.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " virtual gateways, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VirtualGatewayIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the virtual \n"
+ " gateways, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VirtualGatewayIds: array string\n"
" The IDs of the virtual gateways.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"UserName: string\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--UserName: string\n"
" The name of the user.\n"
-"UserPath: string\n"
+"--UserPath: string\n"
" The path to the user (by default, `/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersUserGroup\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersUserGroup\n"
" One or more filters.\n"
- " -PathPrefix: string\n"
- " The path prefix of the groups. If not specified, it is set to \n"
- " a slash (`/`).\n"
- " -UserGroupIds: array string\n"
+ " --Filters.PathPrefix: string\n"
+ " The path prefix of the groups. If not specified, it is set to a slash \n"
+ " (`/`).\n"
+ " --Filters.UserGroupIds: array string\n"
" The IDs of the user groups.\n"
-"FirstItem: int\n"
+"--FirstItem: int\n"
" The item starting the list of groups requested.\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyName: string\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyName: string\n"
" The name of the policy.\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FirstItem: int\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FirstItem: int\n"
" The item starting the list of policies requested.\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-"UserGroupName: string\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Path: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Path: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersTag\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersTag\n"
" One or more filters.\n"
- " -Keys: array string\n"
- " The keys of the tags that are assigned to the resources. You \n"
- " can use this filter alongside the `Values` filter. In that \n"
- " case, you filter the resources corresponding to each tag, \n"
- " regardless of the other filter.\n"
- " -ResourceIds: array string\n"
+ " --Filters.Keys: array string\n"
+ " The keys of the tags that are assigned to the resources. You can use \n"
+ " this filter alongside the `Values` filter. In that case, you filter the \n"
+ " resources corresponding to each tag, regardless of the other filter.\n"
+ " --Filters.ResourceIds: array string\n"
" The IDs of the resources with which the tags are associated.\n"
- " -ResourceTypes: array string\n"
- " The resource type (`vm` \\| `image` \\| `volume` \\| \n"
- " `snapshot` \\| `public-ip` \\| `security-group` \\| \n"
- " `route-table` \\| `nic` \\| `net` \\| `subnet` \\| \n"
- " `net-peering` \\| `net-access-point` \\| `nat-service` \\| \n"
- " `internet-service` \\| `client-gateway` \\| `virtual-gateway` \n"
- " \\| `vpn-connection` \\| `dhcp-options` \\| `task`).\n"
- " -Values: array string\n"
- " The values of the tags that are assigned to the resources. You \n"
- " can use this filter alongside the `TagKeys` filter. In that \n"
- " case, you filter the resources corresponding to each tag, \n"
- " regardless of the other filter.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersSubregion\n"
+ " --Filters.ResourceTypes: array string\n"
+ " The resource type (`vm` \\| `image` \\| `volume` \\| `snapshot` \\| \n"
+ " `public-ip` \\| `security-group` \\| `route-table` \\| `nic` \\| `net` \n"
+ " \\| `subnet` \\| `net-peering` \\| `net-access-point` \\| `nat-service` \n"
+ " \\| `internet-service` \\| `client-gateway` \\| `virtual-gateway` \\| \n"
+ " `vpn-connection` \\| `dhcp-options` \\| `task`).\n"
+ " --Filters.Values: array string\n"
+ " The values of the tags that are assigned to the resources. You can use \n"
+ " this filter alongside the `TagKeys` filter. In that case, you filter the \n"
+ " resources corresponding to each tag, regardless of the other filter.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersSubregion\n"
" One or more filters.\n"
- " -RegionNames: array string\n"
+ " --Filters.RegionNames: array string\n"
" The names of the Regions containing the Subregions.\n"
- " -States: array string\n"
+ " --Filters.States: array string\n"
" The states of the Subregions.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The names of the Subregions.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersSubnet\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersSubnet\n"
" One or more filters.\n"
- " -AvailableIpsCounts: array integer\n"
+ " --Filters.AvailableIpsCounts: array integer\n"
" The number of available IPs.\n"
- " -IpRanges: array string\n"
+ " --Filters.IpRanges: array string\n"
" The IP ranges in the Subnets, in CIDR notation (for example, \n"
" `10.0.0.0/16`).\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets in which the Subnets are.\n"
- " -States: array string\n"
- " The states of the Subnets (`pending` \\| `available` \\| \n"
- " `deleted`).\n"
- " -SubnetIds: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the Subnets (`pending` \\| `available` \\| `deleted`).\n"
+ " --Filters.SubnetIds: array string\n"
" The IDs of the Subnets.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The names of the Subregions in which the Subnets are located.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the Subnets.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the Subnets.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " Subnets, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersSnapshot\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the Subnets, in \n"
+ " the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersSnapshot\n"
" One or more filters.\n"
- " -AccountAliases: array string\n"
+ " --Filters.AccountAliases: array string\n"
" The account aliases of the owners of the snapshots.\n"
- " -AccountIds: array string\n"
+ " --Filters.AccountIds: array string\n"
" The account IDs of the owners of the snapshots.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the snapshots.\n"
- " -FromCreationDate: string\n"
- " The beginning of the time period, in ISO 8601 date-time format \n"
- " (for example, `2020-06-14T00:00:00.000Z`).\n"
- " -PermissionsToCreateVolumeAccountIds: array string\n"
+ " --Filters.FromCreationDate: string\n"
+ " The beginning of the time period, in ISO 8601 date-time format (for \n"
+ " example, `2020-06-14T00:00:00.000Z`).\n"
+ " --Filters.PermissionsToCreateVolumeAccountIds: array string\n"
" The account IDs which have permissions to create volumes.\n"
- " -PermissionsToCreateVolumeGlobalPermission: bool\n"
- " If true, lists all public volumes. If false, lists all private \n"
- " volumes.\n"
- " -Progresses: array integer\n"
+ " --Filters.PermissionsToCreateVolumeGlobalPermission: bool\n"
+ " If true, lists all public volumes. If false, lists all private volumes.\n"
+ " --Filters.Progresses: array integer\n"
" The progresses of the snapshots, as a percentage.\n"
- " -SnapshotIds: array string\n"
+ " --Filters.SnapshotIds: array string\n"
" The IDs of the snapshots.\n"
- " -States: array string\n"
- " The states of the snapshots (`in-queue` \\| `pending` \\| \n"
- " `completed` \\| `error` \\| `deleting`).\n"
- " -TagKeys: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the snapshots (`in-queue` \\| `pending` \\| `completed` \n"
+ " \\| `error` \\| `deleting`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the snapshots.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the snapshots.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " snapshots, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -ToCreationDate: string\n"
- " The end of the time period, in ISO 8601 date-time format (for \n"
- " example, `2020-06-30T00:00:00.000Z`).\n"
- " -VolumeIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the snapshots, in \n"
+ " the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.ToCreationDate: string\n"
+ " The end of the time period, in ISO 8601 date-time format (for example, \n"
+ " `2020-06-30T00:00:00.000Z`).\n"
+ " --Filters.VolumeIds: array string\n"
" The IDs of the volumes used to create the snapshots.\n"
- " -VolumeSizes: array integer\n"
- " The sizes of the volumes used to create the snapshots, in \n"
- " gibibytes (GiB).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersExportTask\n"
+ " --Filters.VolumeSizes: array integer\n"
+ " The sizes of the volumes used to create the snapshots, in gibibytes \n"
+ " (GiB).\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersExportTask\n"
" One or more filters.\n"
- " -TaskIds: array string\n"
+ " --Filters.TaskIds: array string\n"
" The IDs of the export tasks.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersServerCertificate\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersServerCertificate\n"
" One or more filters.\n"
- " -Paths: array string\n"
+ " --Filters.Paths: array string\n"
" The paths to the server certificates.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersSecurityGroup\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersSecurityGroup\n"
" One or more filters.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the security groups.\n"
- " -InboundRuleAccountIds: array string\n"
+ " --Filters.InboundRuleAccountIds: array string\n"
" The account IDs that have been granted permissions.\n"
- " -InboundRuleFromPortRanges: array integer\n"
- " The beginnings of the port ranges for the TCP and UDP \n"
- " protocols, or the ICMP type numbers.\n"
- " -InboundRuleIpRanges: array string\n"
- " The IP ranges that have been granted permissions, in CIDR \n"
- " notation (for example, `10.0.0.0/24`).\n"
- " -InboundRuleProtocols: array string\n"
- " The IP protocols for the permissions (`tcp` \\| `udp` \\| \n"
- " `icmp`, or a protocol number, or `-1` for all protocols).\n"
- " -InboundRuleSecurityGroupIds: array string\n"
- " The IDs of the security groups that have been granted \n"
- " permissions.\n"
- " -InboundRuleSecurityGroupNames: array string\n"
- " The names of the security groups that have been granted \n"
- " permissions.\n"
- " -InboundRuleToPortRanges: array integer\n"
- " The ends of the port ranges for the TCP and UDP protocols, or \n"
- " the ICMP code numbers.\n"
- " -NetIds: array string\n"
- " The IDs of the Nets specified when the security groups were \n"
- " created.\n"
- " -OutboundRuleAccountIds: array string\n"
+ " --Filters.InboundRuleFromPortRanges: array integer\n"
+ " The beginnings of the port ranges for the TCP and UDP protocols, or the \n"
+ " ICMP type numbers.\n"
+ " --Filters.InboundRuleIpRanges: array string\n"
+ " The IP ranges that have been granted permissions, in CIDR notation (for \n"
+ " example, `10.0.0.0/24`).\n"
+ " --Filters.InboundRuleProtocols: array string\n"
+ " The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or a \n"
+ " protocol number, or `-1` for all protocols).\n"
+ " --Filters.InboundRuleSecurityGroupIds: array string\n"
+ " The IDs of the security groups that have been granted permissions.\n"
+ " --Filters.InboundRuleSecurityGroupNames: array string\n"
+ " The names of the security groups that have been granted permissions.\n"
+ " --Filters.InboundRuleToPortRanges: array integer\n"
+ " The ends of the port ranges for the TCP and UDP protocols, or the ICMP \n"
+ " code numbers.\n"
+ " --Filters.NetIds: array string\n"
+ " The IDs of the Nets specified when the security groups were created.\n"
+ " --Filters.OutboundRuleAccountIds: array string\n"
" The account IDs that have been granted permissions.\n"
- " -OutboundRuleFromPortRanges: array integer\n"
- " The beginnings of the port ranges for the TCP and UDP \n"
- " protocols, or the ICMP type numbers.\n"
- " -OutboundRuleIpRanges: array string\n"
- " The IP ranges that have been granted permissions, in CIDR \n"
- " notation (for example, `10.0.0.0/24`).\n"
- " -OutboundRuleProtocols: array string\n"
- " The IP protocols for the permissions (`tcp` \\| `udp` \\| \n"
- " `icmp`, or a protocol number, or `-1` for all protocols).\n"
- " -OutboundRuleSecurityGroupIds: array string\n"
- " The IDs of the security groups that have been granted \n"
- " permissions.\n"
- " -OutboundRuleSecurityGroupNames: array string\n"
- " The names of the security groups that have been granted \n"
- " permissions.\n"
- " -OutboundRuleToPortRanges: array integer\n"
- " The ends of the port ranges for the TCP and UDP protocols, or \n"
- " the ICMP code numbers.\n"
- " -SecurityGroupIds: array string\n"
+ " --Filters.OutboundRuleFromPortRanges: array integer\n"
+ " The beginnings of the port ranges for the TCP and UDP protocols, or the \n"
+ " ICMP type numbers.\n"
+ " --Filters.OutboundRuleIpRanges: array string\n"
+ " The IP ranges that have been granted permissions, in CIDR notation (for \n"
+ " example, `10.0.0.0/24`).\n"
+ " --Filters.OutboundRuleProtocols: array string\n"
+ " The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or a \n"
+ " protocol number, or `-1` for all protocols).\n"
+ " --Filters.OutboundRuleSecurityGroupIds: array string\n"
+ " The IDs of the security groups that have been granted permissions.\n"
+ " --Filters.OutboundRuleSecurityGroupNames: array string\n"
+ " The names of the security groups that have been granted permissions.\n"
+ " --Filters.OutboundRuleToPortRanges: array integer\n"
+ " The ends of the port ranges for the TCP and UDP protocols, or the ICMP \n"
+ " code numbers.\n"
+ " --Filters.SecurityGroupIds: array string\n"
" The IDs of the security groups.\n"
- " -SecurityGroupNames: array string\n"
+ " --Filters.SecurityGroupNames: array string\n"
" The names of the security groups.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the security groups.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the security groups.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " security groups, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "AccessKeyId: string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the security \n"
+ " groups, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--AccessKeyId: string\n"
" The ID of the access key.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersRouteTable\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersRouteTable\n"
" One or more filters.\n"
- " -LinkRouteTableIds: array string\n"
+ " --Filters.LinkRouteTableIds: array string\n"
" The IDs of the route tables involved in the associations.\n"
- " -LinkRouteTableLinkRouteTableIds: array string\n"
- " The IDs of the associations between the route tables and the \n"
- " Subnets.\n"
- " -LinkRouteTableMain: bool\n"
+ " --Filters.LinkRouteTableLinkRouteTableIds: array string\n"
+ " The IDs of the associations between the route tables and the Subnets.\n"
+ " --Filters.LinkRouteTableMain: bool\n"
" If true, the route tables are the main ones for their Nets.\n"
- " -LinkSubnetIds: array string\n"
+ " --Filters.LinkSubnetIds: array string\n"
" The IDs of the Subnets involved in the associations.\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets for the route tables.\n"
- " -RouteCreationMethods: array string\n"
+ " --Filters.RouteCreationMethods: array string\n"
" The methods used to create a route.\n"
- " -RouteDestinationIpRanges: array string\n"
+ " --Filters.RouteDestinationIpRanges: array string\n"
" The IP ranges specified in routes in the tables.\n"
- " -RouteDestinationServiceIds: array string\n"
+ " --Filters.RouteDestinationServiceIds: array string\n"
" The service IDs specified in routes in the tables.\n"
- " -RouteGatewayIds: array string\n"
+ " --Filters.RouteGatewayIds: array string\n"
" The IDs of the gateways specified in routes in the tables.\n"
- " -RouteNatServiceIds: array string\n"
+ " --Filters.RouteNatServiceIds: array string\n"
" The IDs of the NAT services specified in routes in the tables.\n"
- " -RouteNetPeeringIds: array string\n"
+ " --Filters.RouteNetPeeringIds: array string\n"
" The IDs of the Net peerings specified in routes in the tables.\n"
- " -RouteStates: array string\n"
+ " --Filters.RouteStates: array string\n"
" The states of routes in the route tables (always `active`).\n"
- " -RouteTableIds: array string\n"
+ " --Filters.RouteTableIds: array string\n"
" The IDs of the route tables.\n"
- " -RouteVmIds: array string\n"
+ " --Filters.RouteVmIds: array string\n"
" The IDs of the VMs specified in routes in the tables.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the route tables.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the route tables.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " route tables, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersQuota\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the route tables, \n"
+ " in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersQuota\n"
" One or more filters.\n"
- " -Collections: array string\n"
+ " --Filters.Collections: array string\n"
" The group names of the quotas.\n"
- " -QuotaNames: array string\n"
+ " --Filters.QuotaNames: array string\n"
" The names of the quotas.\n"
- " -QuotaTypes: array string\n"
- " The resource IDs if these are resource-specific quotas, \n"
- " `global` if they are not.\n"
- " -ShortDescriptions: array string\n"
+ " --Filters.QuotaTypes: array string\n"
+ " The resource IDs if these are resource-specific quotas, `global` if they \n"
+ " are not.\n"
+ " --Filters.ShortDescriptions: array string\n"
" The description of the quotas.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersPublicIp\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersPublicIp\n"
" One or more filters.\n"
- " -LinkPublicIpIds: array string\n"
- " The IDs representing the associations of public IPs with VMs \n"
- " or NICs.\n"
- " -NicAccountIds: array string\n"
+ " --Filters.LinkPublicIpIds: array string\n"
+ " The IDs representing the associations of public IPs with VMs or NICs.\n"
+ " --Filters.NicAccountIds: array string\n"
" The account IDs of the owners of the NICs.\n"
- " -NicIds: array string\n"
+ " --Filters.NicIds: array string\n"
" The IDs of the NICs.\n"
- " -Placements: array string\n"
- " Whether the public IPs are for use in the public Cloud or in a \n"
- " Net.\n"
- " -PrivateIps: array string\n"
+ " --Filters.Placements: array string\n"
+ " Whether the public IPs are for use in the public Cloud or in a Net.\n"
+ " --Filters.PrivateIps: array string\n"
" The private IPs associated with the public IPs.\n"
- " -PublicIpIds: array string\n"
+ " --Filters.PublicIpIds: array string\n"
" The IDs of the public IPs.\n"
- " -PublicIps: array string\n"
+ " --Filters.PublicIps: array string\n"
" The public IPs.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the public IPs.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the public IPs.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " public IPs, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VmIds: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the public IPs, in \n"
+ " the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VmIds: array string\n"
" The IDs of the VMs.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersProductType\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersProductType\n"
" One or more filters.\n"
- " -ProductTypeIds: array string\n"
+ " --Filters.ProductTypeIds: array string\n"
" The IDs of the product types.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "FirstItem: int\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--FirstItem: int\n"
" The item starting the list of policies requested.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-,
- "PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"VersionId: string\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+,
+ "--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--VersionId: string\n"
" The ID of the policy version.\n"
,
- "PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
+ "--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref ReadPoliciesFilters\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref ReadPoliciesFilters\n"
" One or more filters.\n"
- " -OnlyLinked: bool\n"
+ " --Filters.OnlyLinked: bool\n"
" If set to true, lists only the policies attached to a user.\n"
- " -PathPrefix: string\n"
- " The path prefix you can use to filter the results. If not \n"
- " specified, it is set to a slash (`/`).\n"
- " -Scope: string\n"
+ " --Filters.PathPrefix: string\n"
+ " The path prefix you can use to filter the results. If not specified, it \n"
+ " is set to a slash (`/`).\n"
+ " --Filters.Scope: string\n"
" The scope to filter policies (`OWS` \\| `LOCAL`).\n"
-"FirstItem: int\n"
+"--FirstItem: int\n"
" The item starting the list of policies requested.\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersNic\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersNic\n"
" One or more filters.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the NICs.\n"
- " -IsSourceDestCheck: bool\n"
- " Whether the source/destination checking is enabled (true) or \n"
- " disabled (false).\n"
- " -LinkNicDeleteOnVmDeletion: bool\n"
- " Whether the NICs are deleted when the VMs they are attached to \n"
- " are terminated.\n"
- " -LinkNicDeviceNumbers: array integer\n"
+ " --Filters.IsSourceDestCheck: bool\n"
+ " Whether the source/destination checking is enabled (true) or disabled \n"
+ " (false).\n"
+ " --Filters.LinkNicDeleteOnVmDeletion: bool\n"
+ " Whether the NICs are deleted when the VMs they are attached to are \n"
+ " terminated.\n"
+ " --Filters.LinkNicDeviceNumbers: array integer\n"
" The device numbers the NICs are attached to.\n"
- " -LinkNicLinkNicIds: array string\n"
+ " --Filters.LinkNicLinkNicIds: array string\n"
" The attachment IDs of the NICs.\n"
- " -LinkNicStates: array string\n"
+ " --Filters.LinkNicStates: array string\n"
" The states of the attachments.\n"
- " -LinkNicVmAccountIds: array string\n"
- " The account IDs of the owners of the VMs the NICs are attached \n"
- " to.\n"
- " -LinkNicVmIds: array string\n"
+ " --Filters.LinkNicVmAccountIds: array string\n"
+ " The account IDs of the owners of the VMs the NICs are attached to.\n"
+ " --Filters.LinkNicVmIds: array string\n"
" The IDs of the VMs the NICs are attached to.\n"
- " -LinkPublicIpAccountIds: array string\n"
- " The account IDs of the owners of the public IPs associated \n"
- " with the NICs.\n"
- " -LinkPublicIpLinkPublicIpIds: array string\n"
- " The association IDs returned when the public IPs were \n"
- " associated with the NICs.\n"
- " -LinkPublicIpPublicDnsNames: array string\n"
+ " --Filters.LinkPublicIpAccountIds: array string\n"
+ " The account IDs of the owners of the public IPs associated with the \n"
+ " NICs.\n"
+ " --Filters.LinkPublicIpLinkPublicIpIds: array string\n"
+ " The association IDs returned when the public IPs were associated with \n"
+ " the NICs.\n"
+ " --Filters.LinkPublicIpPublicDnsNames: array string\n"
" The public DNS names associated with the public IPs.\n"
- " -LinkPublicIpPublicIpIds: array string\n"
- " The allocation IDs returned when the public IPs were allocated \n"
- " to their accounts.\n"
- " -LinkPublicIpPublicIps: array string\n"
+ " --Filters.LinkPublicIpPublicIpIds: array string\n"
+ " The allocation IDs returned when the public IPs were allocated to their \n"
+ " accounts.\n"
+ " --Filters.LinkPublicIpPublicIps: array string\n"
" The public IPs associated with the NICs.\n"
- " -MacAddresses: array string\n"
+ " --Filters.MacAddresses: array string\n"
" The Media Access Control (MAC) addresses of the NICs.\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets where the NICs are located.\n"
- " -NicIds: array string\n"
+ " --Filters.NicIds: array string\n"
" The IDs of the NICs.\n"
- " -PrivateDnsNames: array string\n"
+ " --Filters.PrivateDnsNames: array string\n"
" The private DNS names associated with the primary private IPs.\n"
- " -PrivateIpsLinkPublicIpAccountIds: array string\n"
- " The account IDs of the owner of the public IPs associated with \n"
- " the private IPs.\n"
- " -PrivateIpsLinkPublicIpPublicIps: array string\n"
+ " --Filters.PrivateIpsLinkPublicIpAccountIds: array string\n"
+ " The account IDs of the owner of the public IPs associated with the \n"
+ " private IPs.\n"
+ " --Filters.PrivateIpsLinkPublicIpPublicIps: array string\n"
" The public IPs associated with the private IPs.\n"
- " -PrivateIpsPrimaryIp: bool\n"
- " Whether the private IP is the primary IP associated with the \n"
- " NIC.\n"
- " -PrivateIpsPrivateIps: array string\n"
+ " --Filters.PrivateIpsPrimaryIp: bool\n"
+ " Whether the private IP is the primary IP associated with the NIC.\n"
+ " --Filters.PrivateIpsPrivateIps: array string\n"
" The private IPs of the NICs.\n"
- " -SecurityGroupIds: array string\n"
+ " --Filters.SecurityGroupIds: array string\n"
" The IDs of the security groups associated with the NICs.\n"
- " -SecurityGroupNames: array string\n"
+ " --Filters.SecurityGroupNames: array string\n"
" The names of the security groups associated with the NICs.\n"
- " -States: array string\n"
+ " --Filters.States: array string\n"
" The states of the NICs.\n"
- " -SubnetIds: array string\n"
+ " --Filters.SubnetIds: array string\n"
" The IDs of the Subnets for the NICs.\n"
- " -SubregionNames: array string\n"
+ " --Filters.SubregionNames: array string\n"
" The Subregions where the NICs are located.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the NICs.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the NICs.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " NICs, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersNet\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the NICs, in the \n"
+ " following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersNet\n"
" One or more filters.\n"
- " -DhcpOptionsSetIds: array string\n"
+ " --Filters.DhcpOptionsSetIds: array string\n"
" The IDs of the DHCP options sets.\n"
- " -IpRanges: array string\n"
+ " --Filters.IpRanges: array string\n"
" The IP ranges for the Nets, in CIDR notation (for example, \n"
" `10.0.0.0/16`).\n"
- " -IsDefault: bool\n"
+ " --Filters.IsDefault: bool\n"
" If true, the Net used is the default one.\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets.\n"
- " -States: array string\n"
- " The states of the Nets (`pending` \\| `available` \\| \n"
- " `deleting`).\n"
- " -TagKeys: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the Nets (`pending` \\| `available` \\| `deleting`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the Nets.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the Nets.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " Nets, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersNetPeering\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the Nets, in the \n"
+ " following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersNetPeering\n"
" One or more filters.\n"
- " -AccepterNetAccountIds: array string\n"
+ " --Filters.AccepterNetAccountIds: array string\n"
" The account IDs of the owners of the peer Nets.\n"
- " -AccepterNetIpRanges: array string\n"
+ " --Filters.AccepterNetIpRanges: array string\n"
" The IP ranges of the peer Nets, in CIDR notation (for example, \n"
" `10.0.0.0/24`).\n"
- " -AccepterNetNetIds: array string\n"
+ " --Filters.AccepterNetNetIds: array string\n"
" The IDs of the peer Nets.\n"
- " -ExpirationDates: array string\n"
- " The dates and times at which the Net peerings expire, in ISO \n"
- " 8601 date-time format (for example, \n"
- " `2020-06-14T00:00:00.000Z`).\n"
- " -NetPeeringIds: array string\n"
+ " --Filters.ExpirationDates: array string\n"
+ " The dates and times at which the Net peerings expire, in ISO 8601 \n"
+ " date-time format (for example, `2020-06-14T00:00:00.000Z`).\n"
+ " --Filters.NetPeeringIds: array string\n"
" The IDs of the Net peerings.\n"
- " -SourceNetAccountIds: array string\n"
+ " --Filters.SourceNetAccountIds: array string\n"
" The account IDs of the owners of the peer Nets.\n"
- " -SourceNetIpRanges: array string\n"
+ " --Filters.SourceNetIpRanges: array string\n"
" The IP ranges of the peer Nets.\n"
- " -SourceNetNetIds: array string\n"
+ " --Filters.SourceNetNetIds: array string\n"
" The IDs of the peer Nets.\n"
- " -StateMessages: array string\n"
+ " --Filters.StateMessages: array string\n"
" Additional information about the states of the Net peerings.\n"
- " -StateNames: array string\n"
- " The states of the Net peerings (`pending-acceptance` \\| \n"
- " `active` \\| `rejected` \\| `failed` \\| `expired` \\| \n"
- " `deleted`).\n"
- " -TagKeys: array string\n"
+ " --Filters.StateNames: array string\n"
+ " The states of the Net peerings (`pending-acceptance` \\| `active` \\| \n"
+ " `rejected` \\| `failed` \\| `expired` \\| `deleted`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the Net peerings.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the Net peerings.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the Net \n"
- " peerings, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersNetAccessPoint\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the Net peerings, \n"
+ " in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersNetAccessPoint\n"
" One or more filters.\n"
- " -NetAccessPointIds: array string\n"
+ " --Filters.NetAccessPointIds: array string\n"
" The IDs of the Net access points.\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets.\n"
- " -ServiceNames: array string\n"
+ " --Filters.ServiceNames: array string\n"
" The names of the services. For more information, see \n"
" [ReadNetAccessPointServices](#readnetaccesspointservices).\n"
- " -States: array string\n"
- " The states of the Net access points (`pending` \\| `available` \n"
- " \\| `deleting` \\| `deleted`).\n"
- " -TagKeys: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the Net access points (`pending` \\| `available` \\| \n"
+ " `deleting` \\| `deleted`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the Net access points.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the Net access points.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the Net \n"
- " access points, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersService\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the Net access \n"
+ " points, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersService\n"
" One or more filters.\n"
- " -ServiceIds: array string\n"
+ " --Filters.ServiceIds: array string\n"
" The IDs of the services.\n"
- " -ServiceNames: array string\n"
+ " --Filters.ServiceNames: array string\n"
" The names of the services.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersNatService\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersNatService\n"
" One or more filters.\n"
- " -ClientTokens: array string\n"
- " The idempotency tokens provided when creating the NAT \n"
- " services.\n"
- " -NatServiceIds: array string\n"
+ " --Filters.ClientTokens: array string\n"
+ " The idempotency tokens provided when creating the NAT services.\n"
+ " --Filters.NatServiceIds: array string\n"
" The IDs of the NAT services.\n"
- " -NetIds: array string\n"
+ " --Filters.NetIds: array string\n"
" The IDs of the Nets in which the NAT services are.\n"
- " -States: array string\n"
- " The states of the NAT services (`pending` \\| `available` \\| \n"
- " `deleting` \\| `deleted`).\n"
- " -SubnetIds: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the NAT services (`pending` \\| `available` \\| `deleting` \n"
+ " \\| `deleted`).\n"
+ " --Filters.SubnetIds: array string\n"
" The IDs of the Subnets in which the NAT services are.\n"
- " -TagKeys: array string\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the NAT services.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the NAT services.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the NAT \n"
- " services, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersUserGroup\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the NAT services, \n"
+ " in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersUserGroup\n"
" One or more filters.\n"
- " -PathPrefix: string\n"
- " The path prefix of the groups. If not specified, it is set to \n"
- " a slash (`/`).\n"
- " -UserGroupIds: array string\n"
+ " --Filters.PathPrefix: string\n"
+ " The path prefix of the groups. If not specified, it is set to a slash \n"
+ " (`/`).\n"
+ " --Filters.UserGroupIds: array string\n"
" The IDs of the user groups.\n"
-"FirstItem: int\n"
+"--FirstItem: int\n"
" The item starting the list of policies requested.\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-"UserGroupName: string\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersLoadBalancer\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersLoadBalancer\n"
" One or more filters.\n"
- " -LoadBalancerNames: array string\n"
+ " --Filters.LoadBalancerNames: array string\n"
" The names of the load balancers.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerNames: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerNames: array string\n"
" One or more load balancer names.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersListenerRule\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersListenerRule\n"
" One or more filters.\n"
- " -ListenerRuleNames: array string\n"
+ " --Filters.ListenerRuleNames: array string\n"
" The names of the listener rules.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref ReadLinkedPoliciesFilters\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref ReadLinkedPoliciesFilters\n"
" One or more filters.\n"
- " -PathPrefix: string\n"
- " The path prefix of the policies. If not specified, it is set \n"
- " to a slash (`/`).\n"
-"FirstItem: int\n"
+ " --Filters.PathPrefix: string\n"
+ " The path prefix of the policies. If not specified, it is set to a slash \n"
+ " (`/`).\n"
+"--FirstItem: int\n"
" The item starting the list of policies requested.\n"
-"ResultsPerPage: int\n"
- " The maximum number of items that can be returned in a single response \n"
- " (by default, `100`).\n"
-"UserName: string\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of items that can be returned in a single response (by default, `100`).\n"
+"--UserName: string\n"
" The name of the user the policies are linked to.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersKeypair\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersKeypair\n"
" One or more filters.\n"
- " -KeypairFingerprints: array string\n"
+ " --Filters.KeypairFingerprints: array string\n"
" The fingerprints of the keypairs.\n"
- " -KeypairNames: array string\n"
+ " --Filters.KeypairNames: array string\n"
" The names of the keypairs.\n"
- " -KeypairTypes: array string\n"
+ " --Filters.KeypairTypes: array string\n"
" The types of the keypairs (`ssh-rsa`, `ssh-ed25519`, \n"
- " `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or \n"
- " `ecdsa-sha2-nistp521`).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersInternetService\n"
+ " `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or `ecdsa-sha2-nistp521`).\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersInternetService\n"
" One or more filters.\n"
- " -InternetServiceIds: array string\n"
+ " --Filters.InternetServiceIds: array string\n"
" The IDs of the Internet services.\n"
- " -LinkNetIds: array string\n"
+ " --Filters.LinkNetIds: array string\n"
" The IDs of the Nets the Internet services are attached to.\n"
- " -LinkStates: array string\n"
- " The current states of the attachments between the Internet \n"
- " services and the Nets (only `available`, if the Internet \n"
- " gateway is attached to a Net).\n"
- " -TagKeys: array string\n"
+ " --Filters.LinkStates: array string\n"
+ " The current states of the attachments between the Internet services and \n"
+ " the Nets (only `available`, if the Internet gateway is attached to a \n"
+ " Net).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the Internet services.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the Internet services.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " Internet services, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersImage\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the Internet \n"
+ " services, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersImage\n"
" One or more filters.\n"
- " -AccountAliases: array string\n"
+ " --Filters.AccountAliases: array string\n"
" The account aliases of the owners of the OMIs.\n"
- " -AccountIds: array string\n"
- " The account IDs of the owners of the OMIs. By default, all the \n"
- " OMIs for which you have launch permissions are described.\n"
- " -Architectures: array string\n"
+ " --Filters.AccountIds: array string\n"
+ " The account IDs of the owners of the OMIs. By default, all the OMIs for \n"
+ " which you have launch permissions are described.\n"
+ " --Filters.Architectures: array string\n"
" The architectures of the OMIs (`i386` \\| `x86_64`).\n"
- " -BlockDeviceMappingDeleteOnVmDeletion: bool\n"
- " Whether the volumes are deleted or not when terminating the \n"
- " VM.\n"
- " -BlockDeviceMappingDeviceNames: array string\n"
+ " --Filters.BlockDeviceMappingDeleteOnVmDeletion: bool\n"
+ " Whether the volumes are deleted or not when terminating the VM.\n"
+ " --Filters.BlockDeviceMappingDeviceNames: array string\n"
" The device names for the volumes.\n"
- " -BlockDeviceMappingSnapshotIds: array string\n"
+ " --Filters.BlockDeviceMappingSnapshotIds: array string\n"
" The IDs of the snapshots used to create the volumes.\n"
- " -BlockDeviceMappingVolumeSizes: array integer\n"
+ " --Filters.BlockDeviceMappingVolumeSizes: array integer\n"
" The sizes of the volumes, in gibibytes (GiB).\n"
- " -BlockDeviceMappingVolumeTypes: array string\n"
+ " --Filters.BlockDeviceMappingVolumeTypes: array string\n"
" The types of volumes (`standard` \\| `gp2` \\| `io1`).\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the OMIs, provided when they were created.\n"
- " -FileLocations: array string\n"
+ " --Filters.FileLocations: array string\n"
" The locations of the buckets where the OMI files are stored.\n"
- " -Hypervisors: array string\n"
+ " --Filters.Hypervisors: array string\n"
" The hypervisor type of the OMI (always `xen`).\n"
- " -ImageIds: array string\n"
+ " --Filters.ImageIds: array string\n"
" The IDs of the OMIs.\n"
- " -ImageNames: array string\n"
+ " --Filters.ImageNames: array string\n"
" The names of the OMIs, provided when they were created.\n"
- " -PermissionsToLaunchAccountIds: array string\n"
+ " --Filters.PermissionsToLaunchAccountIds: array string\n"
" The account IDs which have launch permissions for the OMIs.\n"
- " -PermissionsToLaunchGlobalPermission: bool\n"
- " If true, lists all public OMIs. If false, lists all private \n"
- " OMIs.\n"
- " -ProductCodeNames: array string\n"
+ " --Filters.PermissionsToLaunchGlobalPermission: bool\n"
+ " If true, lists all public OMIs. If false, lists all private OMIs.\n"
+ " --Filters.ProductCodeNames: array string\n"
" The names of the product codes associated with the OMI.\n"
- " -ProductCodes: array string\n"
+ " --Filters.ProductCodes: array string\n"
" The product codes associated with the OMI.\n"
- " -RootDeviceNames: array string\n"
+ " --Filters.RootDeviceNames: array string\n"
" The name of the root device. This value must be /dev/sda1.\n"
- " -RootDeviceTypes: array string\n"
+ " --Filters.RootDeviceTypes: array string\n"
" The types of root device used by the OMIs (`bsu` or `ebs`).\n"
- " -States: array string\n"
- " The states of the OMIs (`pending` \\| `available` \\| \n"
- " `failed`).\n"
- " -TagKeys: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the OMIs (`pending` \\| `available` \\| `failed`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the OMIs.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the OMIs.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " OMIs, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
- " -VirtualizationTypes: array string\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the OMIs, in the \n"
+ " following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+ " --Filters.VirtualizationTypes: array string\n"
" The virtualization types (always `hvm`).\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersExportTask\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersExportTask\n"
" One or more filters.\n"
- " -TaskIds: array string\n"
+ " --Filters.TaskIds: array string\n"
" The IDs of the export tasks.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersFlexibleGpu\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersFlexibleGpu\n"
" One or more filters.\n"
- " -DeleteOnVmDeletion: bool\n"
+ " --Filters.DeleteOnVmDeletion: bool\n"
" Indicates whether the fGPU is deleted when terminating the VM.\n"
- " -FlexibleGpuIds: array string\n"
+ " --Filters.FlexibleGpuIds: array string\n"
" One or more IDs of fGPUs.\n"
- " -Generations: array string\n"
+ " --Filters.Generations: array string\n"
" The processor generations that the fGPUs are compatible with.\n"
- " -ModelNames: array string\n"
- " One or more models of fGPUs. For more information, see [About \n"
- " Flexible \n"
- " GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs\n"
- " .html).\n"
- " -States: array string\n"
- " The states of the fGPUs (`allocated` \\| `attaching` \\| \n"
- " `attached` \\| `detaching`).\n"
- " -SubregionNames: array string\n"
+ " --Filters.ModelNames: array string\n"
+ " One or more models of fGPUs. For more information, see [About Flexible \n"
+ " GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"
+ " --Filters.States: array string\n"
+ " The states of the fGPUs (`allocated` \\| `attaching` \\| `attached` \\| \n"
+ " `detaching`).\n"
+ " --Filters.SubregionNames: array string\n"
" The Subregions where the fGPUs are located.\n"
- " -VmIds: array string\n"
+ " --Filters.VmIds: array string\n"
" One or more IDs of VMs.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersDirectLink\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersDirectLink\n"
" One or more filters.\n"
- " -DirectLinkIds: array string\n"
+ " --Filters.DirectLinkIds: array string\n"
" The IDs of the DirectLinks.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersDirectLinkInterface\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersDirectLinkInterface\n"
" One or more filters.\n"
- " -DirectLinkIds: array string\n"
+ " --Filters.DirectLinkIds: array string\n"
" The IDs of the DirectLinks.\n"
- " -DirectLinkInterfaceIds: array string\n"
+ " --Filters.DirectLinkInterfaceIds: array string\n"
" The IDs of the DirectLink interfaces.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersDhcpOptions\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersDhcpOptions\n"
" One or more filters.\n"
- " -Default: bool\n"
- " If true, lists all default DHCP options set. If false, lists \n"
- " all non-default DHCP options set.\n"
- " -DhcpOptionsSetIds: array string\n"
+ " --Filters.Default: bool\n"
+ " If true, lists all default DHCP options set. If false, lists all \n"
+ " non-default DHCP options set.\n"
+ " --Filters.DhcpOptionsSetIds: array string\n"
" The IDs of the DHCP options sets.\n"
- " -DomainNameServers: array string\n"
- " The IPs of the domain name servers used for the DHCP options \n"
- " sets.\n"
- " -DomainNames: array string\n"
+ " --Filters.DomainNameServers: array string\n"
+ " The IPs of the domain name servers used for the DHCP options sets.\n"
+ " --Filters.DomainNames: array string\n"
" The domain names used for the DHCP options sets.\n"
- " -LogServers: array string\n"
+ " --Filters.LogServers: array string\n"
" The IPs of the log servers used for the DHCP options sets.\n"
- " -NtpServers: array string\n"
- " The IPs of the Network Time Protocol (NTP) servers used for \n"
- " the DHCP options sets.\n"
- " -TagKeys: array string\n"
+ " --Filters.NtpServers: array string\n"
+ " The IPs of the Network Time Protocol (NTP) servers used for the DHCP \n"
+ " options sets.\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the DHCP options sets.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the DHCP options sets.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the DHCP \n"
- " options sets, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersDedicatedGroup\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the DHCP options \n"
+ " sets, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersDedicatedGroup\n"
" One or more filters.\n"
- " -CpuGenerations: array integer\n"
- " The processor generation for the VMs in the dedicated group \n"
- " (for example, `4`).\n"
- " -DedicatedGroupIds: array string\n"
+ " --Filters.CpuGenerations: array integer\n"
+ " The processor generation for the VMs in the dedicated group (for \n"
+ " example, `4`).\n"
+ " --Filters.DedicatedGroupIds: array string\n"
" The IDs of the dedicated groups.\n"
- " -Names: array string\n"
+ " --Filters.Names: array string\n"
" The names of the dedicated groups.\n"
- " -SubregionNames: array string\n"
- " The names of the Subregions in which the dedicated groups are \n"
- " located.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FromDate: string\n"
- " The beginning of the time period, in ISO 8601 date format (for example, \n"
- " `2020-06-14`). The date-time format is also accepted, but only with a \n"
- " time set to midnight (for example, `2020-06-14T00:00:00.000Z`). This \n"
- " value is included in the time period.\n"
-"Overall: bool\n"
- " By default or if false, returns only the consumption of the specific \n"
- " account that sends this request. If true, returns either the overall \n"
- " consumption of your paying account and all linked accounts (if the \n"
- " account that sends this request is a paying account) or returns nothing \n"
- " (if the account that sends this request is a linked account).\n"
-"ShowPrice: bool\n"
- " If true, the response also includes the unit price of the consumed \n"
- " resource (`UnitPrice`) and the total price of the consumed resource \n"
- " during the specified time period (`Price`), in the currency of your \n"
- " account.\n"
-"ToDate: string\n"
- " The end of the time period, in ISO 8601 date format (for example, \n"
- " `2020-06-30`). The date-time format is also accepted, but only with a \n"
- " time set to midnight (for example, `2020-06-30T00:00:00.000Z`). This \n"
- " value is excluded from the time period, and must be set to a later date \n"
- " than `FromDate`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmId: string\n"
+ " --Filters.SubregionNames: array string\n"
+ " The names of the Subregions in which the dedicated groups are located.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FromDate: string\n"
+ " The beginning of the time period, in ISO 8601 date format (for example, `2020-06-14`). The \n"
+ " date-time format is also accepted, but only with a time set to midnight (for example, \n"
+ " `2020-06-14T00:00:00.000Z`). This value is included in the time period.\n"
+"--Overall: bool\n"
+ " By default or if false, returns only the consumption of the specific account that sends \n"
+ " this request. If true, returns either the overall consumption of your paying account and \n"
+ " all linked accounts (if the account that sends this request is a paying account) or returns \n"
+ " nothing (if the account that sends this request is a linked account).\n"
+"--ShowPrice: bool\n"
+ " If true, the response also includes the unit price of the consumed resource (`UnitPrice`) \n"
+ " and the total price of the consumed resource during the specified time period (`Price`), in \n"
+ " the currency of your account.\n"
+"--ToDate: string\n"
+ " The end of the time period, in ISO 8601 date format (for example, `2020-06-30`). The \n"
+ " date-time format is also accepted, but only with a time set to midnight (for example, \n"
+ " `2020-06-30T00:00:00.000Z`). This value is excluded from the time period, and must be set \n"
+ " to a later date than `FromDate`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmId: string\n"
" The ID of the VM.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersClientGateway\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersClientGateway\n"
" One or more filters.\n"
- " -BgpAsns: array integer\n"
- " The Border Gateway Protocol (BGP) Autonomous System Numbers \n"
- " (ASNs) of the connections.\n"
- " -ClientGatewayIds: array string\n"
+ " --Filters.BgpAsns: array integer\n"
+ " The Border Gateway Protocol (BGP) Autonomous System Numbers (ASNs) of \n"
+ " the connections.\n"
+ " --Filters.ClientGatewayIds: array string\n"
" The IDs of the client gateways.\n"
- " -ConnectionTypes: array string\n"
- " The types of communication tunnels used by the client gateways \n"
- " (only `ipsec.1` is supported).\n"
- " -PublicIps: array string\n"
+ " --Filters.ConnectionTypes: array string\n"
+ " The types of communication tunnels used by the client gateways (only \n"
+ " `ipsec.1` is supported).\n"
+ " --Filters.PublicIps: array string\n"
" The public IPv4 addresses of the client gateways.\n"
- " -States: array string\n"
- " The states of the client gateways (`pending` \\| `available` \n"
- " \\| `deleting` \\| `deleted`).\n"
- " -TagKeys: array string\n"
+ " --Filters.States: array string\n"
+ " The states of the client gateways (`pending` \\| `available` \\| \n"
+ " `deleting` \\| `deleted`).\n"
+ " --Filters.TagKeys: array string\n"
" The keys of the tags associated with the client gateways.\n"
- " -TagValues: array string\n"
+ " --Filters.TagValues: array string\n"
" The values of the tags associated with the client gateways.\n"
- " -Tags: array string\n"
- " The key/value combination of the tags associated with the \n"
- " client gateways, in the following format: \n"
- " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE&quo\n"
- " t;]}.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersCatalogs\n"
+ " --Filters.Tags: array string\n"
+ " The key/value combination of the tags associated with the client \n"
+ " gateways, in the following format: \n"
+ " \"Filters\":{\"Tags\":[\"TAGKEY=TAGVALUE\"]}.\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersCatalogs\n"
" One or more filters.\n"
- " -CurrentCatalogOnly: bool\n"
- " By default or if set to true, only returns the current \n"
- " catalog. If false, returns the current catalog and past \n"
- " catalogs.\n"
- " -FromDate: string\n"
- " The beginning of the time period, in ISO 8601 date format (for \n"
- " example, `2020-06-14`). This date cannot be older than 3 years. \n"
- " You must specify the parameters `FromDate` and `ToDate` \n"
+ " --Filters.CurrentCatalogOnly: bool\n"
+ " By default or if set to true, only returns the current catalog. If \n"
+ " false, returns the current catalog and past catalogs.\n"
+ " --Filters.FromDate: string\n"
+ " The beginning of the time period, in ISO 8601 date format (for example, \n"
+ " `2020-06-14`). This date cannot be older than 3 years. You must specify \n"
+ " the parameters `FromDate` and `ToDate` together.\n"
+ " --Filters.ToDate: string\n"
+ " The end of the time period, in ISO 8601 date format (for example, \n"
+ " `2020-06-30`). You must specify the parameters `FromDate` and `ToDate` \n"
" together.\n"
- " -ToDate: string\n"
- " The end of the time period, in ISO 8601 date format (for \n"
- " example, `2020-06-30`). You must specify the parameters \n"
- " `FromDate` and `ToDate` together.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersCa\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersCa\n"
" One or more filters.\n"
- " -CaFingerprints: array string\n"
+ " --Filters.CaFingerprints: array string\n"
" The fingerprints of the CAs.\n"
- " -CaIds: array string\n"
+ " --Filters.CaIds: array string\n"
" The IDs of the CAs.\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" The descriptions of the CAs.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersApiLog\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersApiLog\n"
" One or more filters.\n"
- " -QueryAccessKeys: array string\n"
+ " --Filters.QueryAccessKeys: array string\n"
" The access keys used for the logged calls.\n"
- " -QueryApiNames: array string\n"
- " The names of the APIs of the logged calls (always `oapi` for \n"
- " the OUTSCALE API).\n"
- " -QueryCallNames: array string\n"
+ " --Filters.QueryApiNames: array string\n"
+ " The names of the APIs of the logged calls (always `oapi` for the \n"
+ " OUTSCALE API).\n"
+ " --Filters.QueryCallNames: array string\n"
" The names of the logged calls.\n"
- " -QueryDateAfter: string\n"
- " The date and time, or the date, after which you want to \n"
- " retrieve logged calls, in ISO 8601 format (for example, \n"
- " `2020-06-14T00:00:00.000Z` or `2020-06-14`). By default, this \n"
- " date is set to 48 hours before the `QueryDateBefore` parameter \n"
- " value.\n"
- " -QueryDateBefore: string\n"
- " The date and time, or the date, before which you want to \n"
- " retrieve logged calls, in ISO 8601 format (for example, \n"
- " `2020-06-30T00:00:00.000Z` or `2020-06-14`). By default, this \n"
- " date is set to now, or 48 hours after the `QueryDateAfter` \n"
- " parameter value.\n"
- " -QueryIpAddresses: array string\n"
+ " --Filters.QueryDateAfter: string\n"
+ " The date and time, or the date, after which you want to retrieve logged \n"
+ " calls, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z` or \n"
+ " `2020-06-14`). By default, this date is set to 48 hours before the \n"
+ " `QueryDateBefore` parameter value.\n"
+ " --Filters.QueryDateBefore: string\n"
+ " The date and time, or the date, before which you want to retrieve logged \n"
+ " calls, in ISO 8601 format (for example, `2020-06-30T00:00:00.000Z` or \n"
+ " `2020-06-14`). By default, this date is set to now, or 48 hours after the \n"
+ " `QueryDateAfter` parameter value.\n"
+ " --Filters.QueryIpAddresses: array string\n"
" The IPs used for the logged calls.\n"
- " -QueryUserAgents: array string\n"
+ " --Filters.QueryUserAgents: array string\n"
" The user agents of the HTTP requests of the logged calls.\n"
- " -RequestIds: array string\n"
+ " --Filters.RequestIds: array string\n"
" The request IDs provided in the responses of the logged calls.\n"
- " -ResponseStatusCodes: array integer\n"
+ " --Filters.ResponseStatusCodes: array integer\n"
" The HTTP status codes of the logged calls.\n"
-"NextPageToken: string\n"
- " The token to request the next page of results. Each token refers to a \n"
- " specific page.\n"
-"ResultsPerPage: int\n"
- " The maximum number of logs returned in a single response (between \n"
- " `1`and `1000`, both included). By default, `100`.\n"
-"With: ref With\n"
+"--NextPageToken: string\n"
+ " The token to request the next page of results. Each token refers to a specific page.\n"
+"--ResultsPerPage: int\n"
+ " The maximum number of logs returned in a single response (between `1`and `1000`, both \n"
+ " included). By default, `100`.\n"
+"--With: ref With\n"
" The information to display in each returned log.\n"
- " -AccountId: bool\n"
+ " --With.AccountId: bool\n"
" By default or if set to true, the account ID is displayed.\n"
- " -CallDuration: bool\n"
- " By default or if set to true, the duration of the call is \n"
- " displayed.\n"
- " -QueryAccessKey: bool\n"
+ " --With.CallDuration: bool\n"
+ " By default or if set to true, the duration of the call is displayed.\n"
+ " --With.QueryAccessKey: bool\n"
" By default or if set to true, the access key is displayed.\n"
- " -QueryApiName: bool\n"
- " By default or if set to true, the name of the API is \n"
- " displayed.\n"
- " -QueryApiVersion: bool\n"
- " By default or if set to true, the version of the API is \n"
- " displayed.\n"
- " -QueryCallName: bool\n"
- " By default or if set to true, the name of the call is \n"
+ " --With.QueryApiName: bool\n"
+ " By default or if set to true, the name of the API is displayed.\n"
+ " --With.QueryApiVersion: bool\n"
+ " By default or if set to true, the version of the API is displayed.\n"
+ " --With.QueryCallName: bool\n"
+ " By default or if set to true, the name of the call is displayed.\n"
+ " --With.QueryDate: bool\n"
+ " By default or if set to true, the date of the call is displayed.\n"
+ " --With.QueryHeaderRaw: bool\n"
+ " By default or if set to true, the raw header of the HTTP request is \n"
" displayed.\n"
- " -QueryDate: bool\n"
- " By default or if set to true, the date of the call is \n"
- " displayed.\n"
- " -QueryHeaderRaw: bool\n"
- " By default or if set to true, the raw header of the HTTP \n"
+ " --With.QueryHeaderSize: bool\n"
+ " By default or if set to true, the size of the raw header of the HTTP \n"
" request is displayed.\n"
- " -QueryHeaderSize: bool\n"
- " By default or if set to true, the size of the raw header of \n"
- " the HTTP request is displayed.\n"
- " -QueryIpAddress: bool\n"
+ " --With.QueryIpAddress: bool\n"
" By default or if set to true, the IP is displayed.\n"
- " -QueryPayloadRaw: bool\n"
- " By default or if set to true, the raw payload of the HTTP \n"
- " request is displayed.\n"
- " -QueryPayloadSize: bool\n"
- " By default or if set to true, the size of the raw payload of \n"
- " the HTTP request is displayed.\n"
- " -QueryUserAgent: bool\n"
- " By default or if set to true, the user agent of the HTTP \n"
+ " --With.QueryPayloadRaw: bool\n"
+ " By default or if set to true, the raw payload of the HTTP request is \n"
+ " displayed.\n"
+ " --With.QueryPayloadSize: bool\n"
+ " By default or if set to true, the size of the raw payload of the HTTP \n"
" request is displayed.\n"
- " -RequestId: bool\n"
+ " --With.QueryUserAgent: bool\n"
+ " By default or if set to true, the user agent of the HTTP request is \n"
+ " displayed.\n"
+ " --With.RequestId: bool\n"
" By default or if set to true, the request ID is displayed.\n"
- " -ResponseSize: bool\n"
- " By default or if set to true, the size of the response is \n"
+ " --With.ResponseSize: bool\n"
+ " By default or if set to true, the size of the response is displayed.\n"
+ " --With.ResponseStatusCode: bool\n"
+ " By default or if set to true, the HTTP status code of the response is \n"
" displayed.\n"
- " -ResponseStatusCode: bool\n"
- " By default or if set to true, the HTTP status code of the \n"
- " response is displayed.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersApiAccessRule\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersApiAccessRule\n"
" One or more filters.\n"
- " -ApiAccessRuleIds: array string\n"
+ " --Filters.ApiAccessRuleIds: array string\n"
" One or more IDs of API access rules.\n"
- " -CaIds: array string\n"
+ " --Filters.CaIds: array string\n"
" One or more IDs of Client Certificate Authorities (CAs).\n"
- " -Cns: array string\n"
+ " --Filters.Cns: array string\n"
" One or more Client Certificate Common Names (CNs).\n"
- " -Descriptions: array string\n"
+ " --Filters.Descriptions: array string\n"
" One or more descriptions of API access rules.\n"
- " -IpRanges: array string\n"
+ " --Filters.IpRanges: array string\n"
" One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmId: string\n"
" The ID of the VM.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Filters: ref FiltersAccessKeys\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Filters: ref FiltersAccessKeys\n"
" One or more filters.\n"
- " -AccessKeyIds: array string\n"
+ " --Filters.AccessKeyIds: array string\n"
" The IDs of the access keys.\n"
- " -States: array string\n"
+ " --Filters.States: array string\n"
" The states of the access keys (`ACTIVE` \\| `INACTIVE`).\n"
-"UserName: string\n"
- " The name of the EIM user. By default, the user who sends the request \n"
- " (which can be the root account).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyDocument: string\n"
- " The policy document, corresponding to a JSON string that contains the \n"
- " policy. For more information, see [EIM Reference \n"
- " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Inform\n"
- " ation.html).\n"
-"PolicyName: string\n"
+"--UserName: string\n"
+ " The name of the EIM user. By default, the user who sends the request (which can be the root \n"
+ " account).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyDocument: string\n"
+ " The policy document, corresponding to a JSON string that contains the policy. For more \n"
+ " information, see [EIM Reference \n"
+ " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html).\n"
+"--PolicyName: string\n"
" The name of the policy.\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
,
- "DeviceName: string\n"
- " The name of the device. For a root device, you must use `/dev/sda1`. \n"
- " For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, \n"
- " or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`, \n"
- " and the second `X` is a letter between `a` and `z`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmId: string\n"
+ "--DeviceName: string\n"
+ " The name of the device. For a root device, you must use `/dev/sda1`. For other volumes, you \n"
+ " must use `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a \n"
+ " letter between `b` and `z`, and the second `X` is a letter between `a` and `z`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmId: string\n"
" The ID of the VM you want to attach the volume to.\n"
-"VolumeId: string\n"
+"--VolumeId: string\n"
" The ID of the volume you want to attach.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net to which you want to attach the virtual gateway.\n"
-"VirtualGatewayId: string\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"RouteTableId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--RouteTableId: string\n"
" The ID of the route table.\n"
-"SubnetId: string\n"
+"--SubnetId: string\n"
" The ID of the Subnet.\n"
,
- "AllowRelink: bool\n"
- " If true, allows the public IP to be associated with the VM or NIC that \n"
- " you specify even if it is already associated with another VM or NIC. If \n"
- " false, prevents the public IP from being associated with the VM or NIC \n"
- " that you specify if it is already associated with another VM or NIC. \n"
- " (By default, true in the public Cloud, false in a Net.)\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NicId: string\n"
- " (Net only) The ID of the NIC. This parameter is required if the VM has \n"
- " more than one NIC attached. Otherwise, you need to specify the `VmId` \n"
- " parameter instead. You cannot specify both parameters at the same time.\n"
-"PrivateIp: string\n"
- " (Net only) The primary or secondary private IP of the specified NIC. By \n"
- " default, the primary private IP.\n"
-"PublicIp: string\n"
- " The public IP. This parameter is required unless you use the \n"
- " `PublicIpId` parameter.\n"
-"PublicIpId: string\n"
- " The allocation ID of the public IP. This parameter is required unless \n"
- " you use the `PublicIp` parameter.\n"
-"VmId: string\n"
- " The ID of the VM.\n- In the public Cloud, this parameter is \n"
- " required.\n- In a Net, this parameter is required if the VM has only \n"
- " one NIC. Otherwise, you need to specify the `NicId` parameter instead. \n"
- " You cannot specify both parameters at the same time.\n"
-,
- "AllowRelink: bool\n"
- " If true, allows an IP that is already assigned to another NIC in the \n"
- " same Subnet to be assigned to the NIC you specified.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NicId: string\n"
+ "--AllowRelink: bool\n"
+ " If true, allows the public IP to be associated with the VM or NIC that you specify even if \n"
+ " it is already associated with another VM or NIC. If false, prevents the public IP from \n"
+ " being associated with the VM or NIC that you specify if it is already associated with \n"
+ " another VM or NIC. (By default, true in the public Cloud, false in a Net.)\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NicId: string\n"
+ " (Net only) The ID of the NIC. This parameter is required if the VM has more than one NIC \n"
+ " attached. Otherwise, you need to specify the `VmId` parameter instead. You cannot specify \n"
+ " both parameters at the same time.\n"
+"--PrivateIp: string\n"
+ " (Net only) The primary or secondary private IP of the specified NIC. By default, the \n"
+ " primary private IP.\n"
+"--PublicIp: string\n"
+ " The public IP. This parameter is required unless you use the `PublicIpId` parameter.\n"
+"--PublicIpId: string\n"
+ " The allocation ID of the public IP. This parameter is required unless you use the \n"
+ " `PublicIp` parameter.\n"
+"--VmId: string\n"
+ " The ID of the VM.\n- In the public Cloud, this parameter is required.\n- In a Net, this \n"
+ " parameter is required if the VM has only one NIC. Otherwise, you need to specify the \n"
+ " `NicId` parameter instead. You cannot specify both parameters at the same time.\n"
+,
+ "--AllowRelink: bool\n"
+ " If true, allows an IP that is already assigned to another NIC in the same Subnet to be \n"
+ " assigned to the NIC you specified.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NicId: string\n"
" The ID of the NIC.\n"
-"PrivateIps: array string\n"
- " The secondary private IP or IPs you want to assign to the NIC within \n"
- " the IP range of the Subnet.\n"
-"SecondaryPrivateIpCount: int\n"
+"--PrivateIps: array string\n"
+ " The secondary private IP or IPs you want to assign to the NIC within the IP range of the \n"
+ " Subnet.\n"
+"--SecondaryPrivateIpCount: int\n"
" The number of secondary private IPs to assign to the NIC.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"UserName: string\n"
- " The name of the user you want to link the policy to (between 1 and 64 \n"
- " characters).\n"
-,
- "DeviceNumber: int\n"
- " The index of the VM device for the NIC attachment (between `1` and `7`, \n"
- " both included).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NicId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--UserName: string\n"
+ " The name of the user you want to link the policy to (between 1 and 64 characters).\n"
+,
+ "--DeviceNumber: int\n"
+ " The index of the VM device for the NIC attachment (between `1` and `7`, both included).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NicId: string\n"
" The ID of the NIC you want to attach.\n"
-"VmId: string\n"
+"--VmId: string\n"
" The ID of the VM to which you want to attach the NIC.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"UserGroupName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--UserGroupName: string\n"
" The name of the group you want to link the policy to.\n"
,
- "BackendIps: array string\n"
+ "--BackendIps: array string\n"
" One or more public IPs of backend VMs.\n"
-"BackendVmIds: array string\n"
+"--BackendVmIds: array string\n"
" One or more IDs of backend VMs.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"InternetServiceId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--InternetServiceId: string\n"
" The ID of the Internet service you want to attach.\n"
-"NetId: string\n"
+"--NetId: string\n"
" The ID of the Net to which you want to attach the Internet service.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FlexibleGpuId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FlexibleGpuId: string\n"
" The ID of the fGPU you want to attach.\n"
-"VmId: string\n"
+"--VmId: string\n"
" The ID of the VM you want to attach the fGPU to.\n"
,
- "BackendVmIds: array string\n"
+ "--BackendVmIds: array string\n"
" One or more IDs of backend VMs.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer.\n"
,
- "DestinationIpRange: string\n"
- " The network prefix of the route to delete, in CIDR notation (for \n"
- " example, `10.12.0.0/16`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VpnConnectionId: string\n"
+ "--DestinationIpRange: string\n"
+ " The network prefix of the route to delete, in CIDR notation (for example, `10.12.0.0/16`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VpnConnectionId: string\n"
" The ID of the target VPN connection of the static route to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VpnConnectionId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VpnConnectionId: string\n"
" The ID of the VPN connection you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VolumeId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VolumeId: string\n"
" The ID of the volume you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmIds: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmIds: array string\n"
" One or more IDs of VMs.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmTemplateId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmTemplateId: string\n"
" The ID of the VM template you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VmGroupId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VmGroupId: string\n"
" The ID of the VM group you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VirtualGatewayId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyName: string\n"
" The name of the policy document you want to delete.\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Force: bool\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Force: bool\n"
" If true, forces the deletion of the user group even if it is not empty.\n"
-"Path: string\n"
+"--Path: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"UserName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--UserName: string\n"
" The name of the EIM user you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ResourceIds: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ResourceIds: array string\n"
" One or more resource IDs.\n"
-"Tags: array ref ResourceTag\n"
- " One or more tags to delete (if you set a tag value, only the tags \n"
- " matching exactly this value are deleted).\n"
+"--Tags: array ref ResourceTag\n"
+ " One or more tags to delete (if you set a tag value, only the tags matching exactly this \n"
+ " value are deleted).\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"SubnetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--SubnetId: string\n"
" The ID of the Subnet you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"SnapshotId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--SnapshotId: string\n"
" The ID of the snapshot you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Name: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Name: string\n"
" The name of the server certificate you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Flow: string\n"
- " The direction of the flow: `Inbound` or `Outbound`. You can specify \n"
- " `Outbound` for Nets only.\n"
-"FromPortRange: int\n"
- " The beginning of the port range for the TCP and UDP protocols, or an \n"
- " ICMP type number.\n"
-"IpProtocol: string\n"
- " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). \n"
- " By default, `-1`. In a Net, this can also be an IP protocol number. For \n"
- " more information, see the [IANA.org \n"
- " website](https://www.iana.org/assignments/protocol-numbers/protocol-numb\n"
- " ers.xhtml).\n"
-"IpRange: string\n"
- " The IP range for the security group rule, in CIDR notation (for \n"
- " example, `10.0.0.0/16`).\n"
-"Rules: array ref SecurityGroupRule\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Flow: string\n"
+ " The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Nets \n"
+ " only.\n"
+"--FromPortRange: int\n"
+ " The beginning of the port range for the TCP and UDP protocols, or an ICMP type number.\n"
+"--IpProtocol: string\n"
+ " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). By default, `-1`. \n"
+ " In a Net, this can also be an IP protocol number. For more information, see the [IANA.org \n"
+ " website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).\n"
+"--IpRange: string\n"
+ " The IP range for the security group rule, in CIDR notation (for example, `10.0.0.0/16`).\n"
+"--Rules: array ref SecurityGroupRule\n"
" One or more rules you want to delete from the security group.\n"
" Information about the security group rule.\n"
- " -FromPortRange: int\n"
- " The beginning of the port range for the TCP and UDP protocols, \n"
- " or an ICMP type number.\n"
- " -IpProtocol: string\n"
- " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all \n"
- " protocols). By default, `-1`. In a Net, this can also be an IP \n"
- " protocol number. For more information, see the [IANA.org \n"
- " website](https://www.iana.org/assignments/protocol-numbers/proto\n"
- " col-numbers.xhtml).\n"
- " -IpRanges: array string\n"
- " One or more IP ranges for the security group rules, in CIDR \n"
- " notation (for example, `10.0.0.0/16`).\n"
- " -SecurityGroupsMembers: array ref SecurityGroupsMember\n"
- " Information about one or more source or destination security \n"
- " groups.\n"
+ " --Rules.INDEX.FromPortRange: int\n"
+ " The beginning of the port range for the TCP and UDP protocols, or an \n"
+ " ICMP type number.\n"
+ " --Rules.INDEX.IpProtocol: string\n"
+ " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). \n"
+ " By default, `-1`. In a Net, this can also be an IP protocol number. For \n"
+ " more information, see the [IANA.org \n"
+ " website](https://www.iana.org/assignments/protocol-numbers/protocol-number\n"
+ " s.xhtml).\n"
+ " --Rules.INDEX.IpRanges: array string\n"
+ " One or more IP ranges for the security group rules, in CIDR notation \n"
+ " (for example, `10.0.0.0/16`).\n"
+ " --Rules.INDEX.SecurityGroupsMembers: array ref SecurityGroupsMember\n"
+ " Information about one or more source or destination security groups.\n"
" Information about a source or destination security group.\n"
- " -AccountId: string\n"
- " The account ID that owns the source or destination security \n"
- " group.\n"
- " -SecurityGroupId: string\n"
- " The ID of a source or destination security group that you want \n"
- " to link to the security group of the rule.\n"
- " -SecurityGroupName: string\n"
- " (Public Cloud only) The name of a source or destination \n"
- " security group that you want to link to the security group of \n"
- " the rule.\n"
- " -ServiceIds: array string\n"
- " One or more service IDs to allow traffic from a Net to access \n"
- " the corresponding OUTSCALE services. For more information, see \n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.AccountId: string\n"
+ " The account ID that owns the source or destination security group.\n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId: string\n"
+ " The ID of a source or destination security group that you want to link \n"
+ " to the security group of the rule.\n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName: string\n"
+ " (Public Cloud only) The name of a source or destination security group \n"
+ " that you want to link to the security group of the rule.\n"
+ " --Rules.INDEX.ServiceIds: array string\n"
+ " One or more service IDs to allow traffic from a Net to access the \n"
+ " corresponding OUTSCALE services. For more information, see \n"
" [ReadNetAccessPointServices](#readnetaccesspointservices).\n"
- " -ToPortRange: int\n"
- " The end of the port range for the TCP and UDP protocols, or an \n"
- " ICMP code number.\n"
-"SecurityGroupAccountIdToUnlink: string\n"
- " The account ID of the owner of the security group you want to delete a \n"
- " rule from.\n"
-"SecurityGroupId: string\n"
+ " --Rules.INDEX.ToPortRange: int\n"
+ " The end of the port range for the TCP and UDP protocols, or an ICMP code \n"
+ " number.\n"
+"--SecurityGroupAccountIdToUnlink: string\n"
+ " The account ID of the owner of the security group you want to delete a rule from.\n"
+"--SecurityGroupId: string\n"
" The ID of the security group you want to delete a rule from.\n"
-"SecurityGroupNameToUnlink: string\n"
- " The ID of the source security group. If you are in the Public Cloud, \n"
- " you can also specify the name of the source security group.\n"
-"ToPortRange: int\n"
- " The end of the port range for the TCP and UDP protocols, or an ICMP \n"
- " code number.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"SecurityGroupId: string\n"
+"--SecurityGroupNameToUnlink: string\n"
+ " The ID of the source security group. If you are in the Public Cloud, you can also specify \n"
+ " the name of the source security group.\n"
+"--ToPortRange: int\n"
+ " The end of the port range for the TCP and UDP protocols, or an ICMP code number.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--SecurityGroupId: string\n"
" The ID of the security group you want to delete.\n"
-"SecurityGroupName: string\n"
+"--SecurityGroupName: string\n"
" The name of the security group.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"RouteTableId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--RouteTableId: string\n"
" The ID of the route table you want to delete.\n"
,
- "DestinationIpRange: string\n"
+ "--DestinationIpRange: string\n"
" The exact IP range for the route.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"RouteTableId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--RouteTableId: string\n"
" The ID of the route table from which you want to delete a route.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PublicIp: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PublicIp: string\n"
" The public IP. In the public Cloud, this parameter is required.\n"
-"PublicIpId: string\n"
- " The ID representing the association of the public IP with the VM or the \n"
- " NIC. In a Net, this parameter is required.\n"
+"--PublicIpId: string\n"
+ " The ID representing the association of the public IP with the VM or the NIC. In a Net, this \n"
+ " parameter is required.\n"
+,
+ "--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--VersionId: string\n"
+ " The ID of the version of the policy you want to delete.\n"
,
- "PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy you want to delete. For more information, \n"
" see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"VersionId: string\n"
- " The ID of the version of the policy you want to delete.\n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy you want to delete. For \n"
- " more information, see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NicId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NicId: string\n"
" The ID of the NIC you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetPeeringId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetPeeringId: string\n"
" The ID of the Net peering you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetAccessPointId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetAccessPointId: string\n"
" The ID of the Net access point.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NatServiceId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NatServiceId: string\n"
" The ID of the NAT service you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerNames: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerNames: array string\n"
" One or more load balancer names.\n"
-"Tags: array ref ResourceLoadBalancerTag\n"
+"--Tags: array ref ResourceLoadBalancerTag\n"
" One or more tags to delete from the load balancers.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer for which you want to delete a policy.\n"
-"PolicyName: string\n"
+"--PolicyName: string\n"
" The name of the policy you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer for which you want to delete listeners.\n"
-"LoadBalancerPorts: array integer\n"
+"--LoadBalancerPorts: array integer\n"
" One or more port numbers of the listeners you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ListenerRuleName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ListenerRuleName: string\n"
" The name of the rule you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"KeypairName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--KeypairName: string\n"
" The name of the keypair you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"InternetServiceId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--InternetServiceId: string\n"
" The ID of the Internet service you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ImageId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ImageId: string\n"
" The ID of the OMI you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FlexibleGpuId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FlexibleGpuId: string\n"
" The ID of the fGPU you want to delete.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ExportTaskId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ExportTaskId: string\n"
" The ID of the export task to delete.\n"
,
- "DirectLinkInterfaceId: string\n"
+ "--DirectLinkInterfaceId: string\n"
" The ID of the DirectLink interface you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DirectLinkId: string\n"
+ "--DirectLinkId: string\n"
" The ID of the DirectLink you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DhcpOptionsSetId: string\n"
+ "--DhcpOptionsSetId: string\n"
" The ID of the DHCP options set you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "DedicatedGroupId: string\n"
+ "--DedicatedGroupId: string\n"
" The ID of the dedicated group you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Force: bool\n"
- " If true, forces the deletion of the dedicated group and all its \n"
- " dependencies.\n"
-,
- "ClientGatewayId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Force: bool\n"
+ " If true, forces the deletion of the dedicated group and all its dependencies.\n"
+,
+ "--ClientGatewayId: string\n"
" The ID of the client gateway you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "CaId: string\n"
+ "--CaId: string\n"
" The ID of the CA you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "ApiAccessRuleId: string\n"
+ "--ApiAccessRuleId: string\n"
" The ID of the API access rule you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "AccessKeyId: string\n"
+ "--AccessKeyId: string\n"
" The ID of the access key you want to delete.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"UserName: string\n"
- " The name of the EIM user the access key you want to delete is \n"
- " associated with. By default, the user who sends the request (which can \n"
- " be the root account).\n"
-,
- "DestinationIpRange: string\n"
- " The network prefix of the route, in CIDR notation (for example, \n"
- " `10.12.0.0/16`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"VpnConnectionId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--UserName: string\n"
+ " The name of the EIM user the access key you want to delete is associated with. By default, \n"
+ " the user who sends the request (which can be the root account).\n"
+,
+ "--DestinationIpRange: string\n"
+ " The network prefix of the route, in CIDR notation (for example, `10.12.0.0/16`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--VpnConnectionId: string\n"
" The ID of the target VPN connection of the static route.\n"
,
- "ClientGatewayId: string\n"
+ "--ClientGatewayId: string\n"
" The ID of the client gateway.\n"
-"ConnectionType: string\n"
+"--ConnectionType: string\n"
" The type of VPN connection (only `ipsec.1` is supported).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"StaticRoutesOnly: bool\n"
- " By default or if false, the VPN connection uses dynamic routing with \n"
- " Border Gateway Protocol (BGP). If true, routing is controlled using \n"
- " static routes. For more information about how to create and delete \n"
- " static routes, see \n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--StaticRoutesOnly: bool\n"
+ " By default or if false, the VPN connection uses dynamic routing with Border Gateway \n"
+ " Protocol (BGP). If true, routing is controlled using static routes. For more information \n"
+ " about how to create and delete static routes, see \n"
" [CreateVpnConnectionRoute](#createvpnconnectionroute) and \n"
" [DeleteVpnConnectionRoute](#deletevpnconnectionroute).\n"
-"VirtualGatewayId: string\n"
+"--VirtualGatewayId: string\n"
" The ID of the virtual gateway.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Iops: int\n"
- " The number of I/O operations per second (IOPS). This parameter must be \n"
- " specified only if you create an `io1` volume. The maximum number of \n"
- " IOPS allowed for `io1` volumes is `13000` with a maximum performance \n"
- " ratio of 300 IOPS per gibibyte.\n"
-"Size: int\n"
- " The size of the volume, in gibibytes (GiB). The maximum allowed size \n"
- " for a volume is 14901 GiB. This parameter is required if the volume is \n"
- " not created from a snapshot (`SnapshotId` unspecified).\n"
-"SnapshotId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Iops: int\n"
+ " The number of I/O operations per second (IOPS). This parameter must be specified only if \n"
+ " you create an `io1` volume. The maximum number of IOPS allowed for `io1` volumes is `13000` \n"
+ " with a maximum performance ratio of 300 IOPS per gibibyte.\n"
+"--Size: int\n"
+ " The size of the volume, in gibibytes (GiB). The maximum allowed size for a volume is 14901 \n"
+ " GiB. This parameter is required if the volume is not created from a snapshot (`SnapshotId` \n"
+ " unspecified).\n"
+"--SnapshotId: string\n"
" The ID of the snapshot from which you want to create the volume.\n"
-"SubregionName: string\n"
+"--SubregionName: string\n"
" The Subregion in which you want to create the volume.\n"
-"VolumeType: string\n"
- " The type of volume you want to create (`io1` \\| `gp2` \\| `standard`). \n"
- " If not specified, a `standard` volume is created.\nFor more information \n"
- " about volume types, see [About Volumes > Volume Types and \n"
- " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_\n"
- " types_and_iops).\n"
-,
- "BlockDeviceMappings: array ref BlockDeviceMappingVmCreation\n"
+"--VolumeType: string\n"
+ " The type of volume you want to create (`io1` \\| `gp2` \\| `standard`). If not specified, a \n"
+ " `standard` volume is created.\nFor more information about volume types, see [About Volumes \n"
+ " > Volume Types and \n"
+ " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_types_and_iops).\n"
+,
+ "--BlockDeviceMappings: array ref BlockDeviceMappingVmCreation\n"
" One or more block device mappings.\n"
" Information about the block device mapping.\n"
- " -Bsu: ref BsuToCreate\n"
+ " --BlockDeviceMappings.INDEX.Bsu: ref BsuToCreate\n"
" Information about the BSU volume to create.\n"
- " -DeleteOnVmDeletion: bool\n"
- " By default or if set to true, the volume is deleted when \n"
- " terminating the VM. If false, the volume is not deleted when \n"
- " terminating the VM.\n"
- " -Iops: int\n"
- " The number of I/O operations per second (IOPS). This parameter \n"
- " must be specified only if you create an `io1` volume. The \n"
- " maximum number of IOPS allowed for `io1` volumes is `13000` \n"
- " with a maximum performance ratio of 300 IOPS per gibibyte.\n"
- " -SnapshotId: string\n"
+ " --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool\n"
+ " By default or if set to true, the volume is deleted when terminating the \n"
+ " VM. If false, the volume is not deleted when terminating the VM.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.Iops: int\n"
+ " The number of I/O operations per second (IOPS). This parameter must be \n"
+ " specified only if you create an `io1` volume. The maximum number of IOPS \n"
+ " allowed for `io1` volumes is `13000` with a maximum performance ratio of \n"
+ " 300 IOPS per gibibyte.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.SnapshotId: string\n"
" The ID of the snapshot used to create the volume.\n"
- " -VolumeSize: int\n"
- " The size of the volume, in gibibytes (GiB).\nIf you \n"
- " specify a snapshot ID, the volume size must be at least equal \n"
- " to the snapshot size.\nIf you specify a snapshot ID but \n"
- " no volume size, the volume is created with a size similar to \n"
- " the snapshot one.\n"
- " -VolumeType: string\n"
- " The type of the volume (`standard` \\| `io1` \\| `gp2`). If \n"
- " not specified in the request, a `standard` volume is \n"
- " created.\nFor more information about volume types, see \n"
- " [About Volumes > Volume Types and \n"
- " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#\n"
- " _volume_types_and_iops).\n"
- " -DeviceName: string\n"
- " The device name for the volume. For a root device, you must \n"
- " use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, \n"
- " `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` \n"
- " is a letter between `b` and `z`, and the second `X` is a letter \n"
- " between `a` and `z`).\n"
- " -NoDevice: string\n"
- " Removes the device which is included in the block device \n"
- " mapping of the OMI.\n"
- " -VirtualDeviceName: string\n"
+ " --BlockDeviceMappings.INDEX.Bsu.VolumeSize: int\n"
+ " The size of the volume, in gibibytes (GiB).\nIf you specify a \n"
+ " snapshot ID, the volume size must be at least equal to the snapshot \n"
+ " size.\nIf you specify a snapshot ID but no volume size, the volume \n"
+ " is created with a size similar to the snapshot one.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.VolumeType: string\n"
+ " The type of the volume (`standard` \\| `io1` \\| `gp2`). If not \n"
+ " specified in the request, a `standard` volume is created.\nFor more \n"
+ " information about volume types, see [About Volumes > Volume Types and \n"
+ " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_ty\n"
+ " pes_and_iops).\n"
+ " --BlockDeviceMappings.INDEX.DeviceName: string\n"
+ " The device name for the volume. For a root device, you must use \n"
+ " `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, \n"
+ " `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` \n"
+ " and `z`, and the second `X` is a letter between `a` and `z`).\n"
+ " --BlockDeviceMappings.INDEX.NoDevice: string\n"
+ " Removes the device which is included in the block device mapping of the \n"
+ " OMI.\n"
+ " --BlockDeviceMappings.INDEX.VirtualDeviceName: string\n"
" The name of the virtual device (`ephemeralN`).\n"
-"BootOnCreation: bool\n"
- " By default or if true, the VM is started on creation. If false, the VM \n"
- " is stopped on creation.\n"
-"BsuOptimized: bool\n"
- " This parameter is not available. It is present in our API for the sake \n"
- " of historical compatibility with AWS.\n"
-"ClientToken: string\n"
+"--BootOnCreation: bool\n"
+ " By default or if true, the VM is started on creation. If false, the VM is stopped on \n"
+ " creation.\n"
+"--BsuOptimized: bool\n"
+ " This parameter is not available. It is present in our API for the sake of historical \n"
+ " compatibility with AWS.\n"
+"--ClientToken: string\n"
" A unique identifier which enables you to manage the idempotency.\n"
-"DeletionProtection: bool\n"
- " If true, you cannot delete the VM unless you change this parameter back \n"
- " to false.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ImageId: string\n"
- " The ID of the OMI used to create the VM. You can find the list of OMIs \n"
- " by calling the [ReadImages](#readimages) method.\n"
-"KeypairName: string\n"
+"--DeletionProtection: bool\n"
+ " If true, you cannot delete the VM unless you change this parameter back to false.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ImageId: string\n"
+ " The ID of the OMI used to create the VM. You can find the list of OMIs by calling the \n"
+ " [ReadImages](#readimages) method.\n"
+"--KeypairName: string\n"
" The name of the keypair.\n"
-"MaxVmsCount: int\n"
- " The maximum number of VMs you want to create. If all the VMs cannot be \n"
- " created, the largest possible number of VMs above MinVmsCount is \n"
- " created.\n"
-"MinVmsCount: int\n"
- " The minimum number of VMs you want to create. If this number of VMs \n"
- " cannot be created, no VMs are created.\n"
-"NestedVirtualization: bool\n"
- " (dedicated tenancy only) If true, nested virtualization is enabled. If \n"
- " false, it is disabled.\n"
-"Nics: array ref NicForVmCreation\n"
- " One or more NICs. If you specify this parameter, you must not specify \n"
- " the `SubnetId` and `SubregionName` parameters. You also must define one \n"
- " NIC as the primary network interface of the VM with `0` as its device \n"
- " number.\n"
- " Information about the network interface card (NIC) when \n"
- " creating a virtual machine (VM).\n"
- " -DeleteOnVmDeletion: bool\n"
- " If true, the NIC is deleted when the VM is terminated. You can \n"
- " specify this parameter only for a new NIC. To modify this value \n"
- " for an existing NIC, see [UpdateNic](#updatenic).\n"
- " -Description: string\n"
- " The description of the NIC, if you are creating a NIC when \n"
+"--MaxVmsCount: int\n"
+ " The maximum number of VMs you want to create. If all the VMs cannot be created, the largest \n"
+ " possible number of VMs above MinVmsCount is created.\n"
+"--MinVmsCount: int\n"
+ " The minimum number of VMs you want to create. If this number of VMs cannot be created, no \n"
+ " VMs are created.\n"
+"--NestedVirtualization: bool\n"
+ " (dedicated tenancy only) If true, nested virtualization is enabled. If false, it is \n"
+ " disabled.\n"
+"--Nics: array ref NicForVmCreation\n"
+ " One or more NICs. If you specify this parameter, you must not specify the `SubnetId` and \n"
+ " `SubregionName` parameters. You also must define one NIC as the primary network interface \n"
+ " of the VM with `0` as its device number.\n"
+ " Information about the network interface card (NIC) when creating a \n"
+ " virtual machine (VM).\n"
+ " --Nics.INDEX.DeleteOnVmDeletion: bool\n"
+ " If true, the NIC is deleted when the VM is terminated. You can specify \n"
+ " this parameter only for a new NIC. To modify this value for an existing \n"
+ " NIC, see [UpdateNic](#updatenic).\n"
+ " --Nics.INDEX.Description: string\n"
+ " The description of the NIC, if you are creating a NIC when creating the \n"
+ " VM.\n"
+ " --Nics.INDEX.DeviceNumber: int\n"
+ " The index of the VM device for the NIC attachment (between `0` and `7`, \n"
+ " both included). This parameter is required if you create a NIC when \n"
" creating the VM.\n"
- " -DeviceNumber: int\n"
- " The index of the VM device for the NIC attachment (between `0` \n"
- " and `7`, both included). This parameter is required if you \n"
- " create a NIC when creating the VM.\n"
- " -NicId: string\n"
- " The ID of the NIC, if you are attaching an existing NIC when \n"
- " creating a VM.\n"
- " -PrivateIps: array ref PrivateIpLight\n"
- " One or more private IPs to assign to the NIC, if you create a \n"
- " NIC when creating a VM. Only one private IP can be the primary \n"
- " private IP.\n"
+ " --Nics.INDEX.NicId: string\n"
+ " The ID of the NIC, if you are attaching an existing NIC when creating a \n"
+ " VM.\n"
+ " --Nics.INDEX.PrivateIps: array ref PrivateIpLight\n"
+ " One or more private IPs to assign to the NIC, if you create a NIC when \n"
+ " creating a VM. Only one private IP can be the primary private IP.\n"
" Information about the private IP.\n"
- " -IsPrimary: bool\n"
+ " --Nics.INDEX.PrivateIps.INDEX.IsPrimary: bool\n"
" If true, the IP is the primary private IP of the NIC.\n"
- " -PrivateIp: string\n"
+ " --Nics.INDEX.PrivateIps.INDEX.PrivateIp: string\n"
" The private IP of the NIC.\n"
- " -SecondaryPrivateIpCount: int\n"
- " The number of secondary private IPs, if you create a NIC when \n"
- " creating a VM. This parameter cannot be specified if you \n"
- " specified more than one private IP in the `PrivateIps` \n"
- " parameter.\n"
- " -SecurityGroupIds: array string\n"
- " One or more IDs of security groups for the NIC, if you create \n"
- " a NIC when creating a VM.\n"
- " -SubnetId: string\n"
- " The ID of the Subnet for the NIC, if you create a NIC when \n"
- " creating a VM. This parameter is required if you create a NIC \n"
- " when creating the VM.\n"
-"Performance: string\n"
- " The performance of the VM (`medium` \\| `high` \\| `highest`). By \n"
- " default, `high`. This parameter is ignored if you specify a performance \n"
- " flag directly in the `VmType` parameter.\n"
-"Placement: ref Placement\n"
+ " --Nics.INDEX.SecondaryPrivateIpCount: int\n"
+ " The number of secondary private IPs, if you create a NIC when creating a \n"
+ " VM. This parameter cannot be specified if you specified more than one \n"
+ " private IP in the `PrivateIps` parameter.\n"
+ " --Nics.INDEX.SecurityGroupIds: array string\n"
+ " One or more IDs of security groups for the NIC, if you create a NIC when \n"
+ " creating a VM.\n"
+ " --Nics.INDEX.SubnetId: string\n"
+ " The ID of the Subnet for the NIC, if you create a NIC when creating a \n"
+ " VM. This parameter is required if you create a NIC when creating the VM.\n"
+"--Performance: string\n"
+ " The performance of the VM (`medium` \\| `high` \\| `highest`). By default, `high`. This \n"
+ " parameter is ignored if you specify a performance flag directly in the `VmType` parameter.\n"
+"--Placement: ref Placement\n"
" Information about the placement of the VM.\n"
- " -SubregionName: string\n"
- " The name of the Subregion. If you specify this parameter, you \n"
- " must not specify the `Nics` parameter.\n"
- " -Tenancy: string\n"
- " The tenancy of the VM (`default`, `dedicated`, or a dedicated \n"
- " group ID).\n"
-"PrivateIps: array string\n"
+ " --Placement.SubregionName: string\n"
+ " The name of the Subregion. If you specify this parameter, you must not \n"
+ " specify the `Nics` parameter.\n"
+ " --Placement.Tenancy: string\n"
+ " The tenancy of the VM (`default`, `dedicated`, or a dedicated group ID).\n"
+"--PrivateIps: array string\n"
" One or more private IPs of the VM.\n"
-"SecurityGroupIds: array string\n"
+"--SecurityGroupIds: array string\n"
" One or more IDs of security group for the VMs.\n"
-"SecurityGroups: array string\n"
+"--SecurityGroups: array string\n"
" One or more names of security groups for the VMs.\n"
-"SubnetId: string\n"
- " The ID of the Subnet in which you want to create the VM. If you specify \n"
- " this parameter, you must not specify the `Nics` parameter.\n"
-"UserData: string\n"
- " Data or script used to add a specific configuration to the VM. It must \n"
- " be Base64-encoded and is limited to 500 kibibytes (KiB).\n"
-"VmInitiatedShutdownBehavior: string\n"
- " The VM behavior when you stop it. By default or if set to `stop`, the \n"
- " VM stops. If set to `restart`, the VM stops then automatically \n"
- " restarts. If set to `terminate`, the VM stops and is terminated.\n"
-"VmType: string\n"
- " The type of VM. You can specify a TINA type (in the `tinavW.cXrYpZ` or \n"
- " `tinavW.cXrY` format), or an AWS type (for example, `t2.small`, which \n"
- " is the default value).\nIf you specify an AWS type, it is converted in \n"
- " the background to its corresponding TINA type, but the AWS type is \n"
- " still returned. If the specified or converted TINA type includes a \n"
- " performance flag, this performance flag is applied regardless of the \n"
- " value you may have provided in the `Performance` parameter. For more \n"
- " information, see [VM \n"
+"--SubnetId: string\n"
+ " The ID of the Subnet in which you want to create the VM. If you specify this parameter, you \n"
+ " must not specify the `Nics` parameter.\n"
+"--UserData: string\n"
+ " Data or script used to add a specific configuration to the VM. It must be Base64-encoded \n"
+ " and is limited to 500 kibibytes (KiB).\n"
+"--VmInitiatedShutdownBehavior: string\n"
+ " The VM behavior when you stop it. By default or if set to `stop`, the VM stops. If set to \n"
+ " `restart`, the VM stops then automatically restarts. If set to `terminate`, the VM stops \n"
+ " and is terminated.\n"
+"--VmType: string\n"
+ " The type of VM. You can specify a TINA type (in the `tinavW.cXrYpZ` or `tinavW.cXrY` \n"
+ " format), or an AWS type (for example, `t2.small`, which is the default value).\nIf you \n"
+ " specify an AWS type, it is converted in the background to its corresponding TINA type, but \n"
+ " the AWS type is still returned. If the specified or converted TINA type includes a \n"
+ " performance flag, this performance flag is applied regardless of the value you may have \n"
+ " provided in the `Performance` parameter. For more information, see [VM \n"
" Types](https://docs.outscale.com/en/userguide/VM-Types.html).\n"
,
- "CpuCores: int\n"
+ "--CpuCores: int\n"
" The number of vCores to use for each VM.\n"
-"CpuGeneration: string\n"
+"--CpuGeneration: string\n"
" The processor generation to use for each VM (for example, `v4`).\n"
-"CpuPerformance: string\n"
+"--CpuPerformance: string\n"
" The performance of the VMs (`medium` \\| `high` \\| `highest`).\n"
-"Description: string\n"
+"--Description: string\n"
" A description for the VM template.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ImageId: string\n"
- " The ID of the OMI to use for each VM. You can find a list of OMIs by \n"
- " calling the [ReadImages](#readimages) method.\n"
-"KeypairName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ImageId: string\n"
+ " The ID of the OMI to use for each VM. You can find a list of OMIs by calling the \n"
+ " [ReadImages](#readimages) method.\n"
+"--KeypairName: string\n"
" The name of the keypair to use for each VM.\n"
-"Ram: int\n"
+"--Ram: int\n"
" The amount of RAM to use for each VM.\n"
-"Tags: array ref ResourceTag\n"
+"--Tags: array ref ResourceTag\n"
" One or more tags to add to the VM template.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
-"VmTemplateName: string\n"
+"--VmTemplateName: string\n"
" The name of the VM template.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A description for the VM group.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PositioningStrategy: string\n"
- " The positioning strategy of VMs on hypervisors. By default, or if set \n"
- " to `no-strategy` our orchestrator determines the most adequate position \n"
- " for your VMs. If set to `attract`, your VMs are deployed on the same \n"
- " hypervisor, which improves network performance. If set to `repulse`, \n"
- " your VMs are deployed on a different hypervisor, which improves fault \n"
- " tolerance.\n"
-"SecurityGroupIds: array string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PositioningStrategy: string\n"
+ " The positioning strategy of VMs on hypervisors. By default, or if set to `no-strategy` our \n"
+ " orchestrator determines the most adequate position for your VMs. If set to `attract`, your \n"
+ " VMs are deployed on the same hypervisor, which improves network performance. If set to \n"
+ " `repulse`, your VMs are deployed on a different hypervisor, which improves fault tolerance.\n"
+"--SecurityGroupIds: array string\n"
" One or more IDs of security groups for the VM group.\n"
-"SubnetId: string\n"
+"--SubnetId: string\n"
" The ID of the Subnet in which you want to create the VM group.\n"
-"Tags: array ref ResourceTag\n"
+"--Tags: array ref ResourceTag\n"
" One or more tags to add to the VM group.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
-"VmCount: int\n"
+"--VmCount: int\n"
" The number of VMs deployed in the VM group.\n"
-"VmGroupName: string\n"
+"--VmGroupName: string\n"
" The name of the VM group.\n"
-"VmTemplateId: string\n"
+"--VmTemplateId: string\n"
" The ID of the VM template used to launch VMs in the VM group.\n"
,
- "ConnectionType: string\n"
- " The type of VPN connection supported by the virtual gateway (only \n"
- " `ipsec.1` is supported).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Path: string\n"
+ "--ConnectionType: string\n"
+ " The type of VPN connection supported by the virtual gateway (only `ipsec.1` is supported).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Path: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserGroupName: string\n"
+"--UserGroupName: string\n"
" The name of the group.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Path: string\n"
- " The path to the EIM user you want to create (by default, `/`). This \n"
- " path name must begin and end with a slash (`/`), and contain between 1 \n"
- " and 512 alphanumeric characters and/or slashes (`/`), or underscores \n"
- " (_).\n"
-"UserName: string\n"
- " The name of the EIM user. This user name must contain between 1 and 64 \n"
- " alphanumeric characters and/or pluses (+), equals (=), commas (,), \n"
- " periods (.), at signs (@), dashes (-), or underscores (_).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ResourceIds: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Path: string\n"
+ " The path to the EIM user you want to create (by default, `/`). This path name must begin \n"
+ " and end with a slash (`/`), and contain between 1 and 512 alphanumeric characters and/or \n"
+ " slashes (`/`), or underscores (_).\n"
+"--UserName: string\n"
+ " The name of the EIM user. This user name must contain between 1 and 64 alphanumeric \n"
+ " characters and/or pluses (+), equals (=), commas (,), periods (.), at signs (@), dashes \n"
+ " (-), or underscores (_).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ResourceIds: array string\n"
" One or more resource IDs.\n"
-"Tags: array ref ResourceTag\n"
+"--Tags: array ref ResourceTag\n"
" One or more tags to add to the specified resources.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"IpRange: string\n"
- " The IP range in the Subnet, in CIDR notation (for example, \n"
- " `10.0.0.0/16`).\nThe IP range of the Subnet can be either the same as \n"
- " the Net one if you create only a single Subnet in this Net, or a subset \n"
- " of the Net one. In case of several Subnets in a Net, their IP ranges \n"
- " must not overlap. The smallest Subnet you can create uses a /29 netmask \n"
- " (eight IPs). For more information, see [About \n"
- " Nets](https://docs.outscale.com/en/userguide/About-Nets.html).\n"
-"NetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--IpRange: string\n"
+ " The IP range in the Subnet, in CIDR notation (for example, `10.0.0.0/16`).\nThe IP range of \n"
+ " the Subnet can be either the same as the Net one if you create only a single Subnet in this \n"
+ " Net, or a subset of the Net one. In case of several Subnets in a Net, their IP ranges must \n"
+ " not overlap. The smallest Subnet you can create uses a /29 netmask (eight IPs). For more \n"
+ " information, see [About Nets](https://docs.outscale.com/en/userguide/About-Nets.html).\n"
+"--NetId: string\n"
" The ID of the Net for which you want to create a Subnet.\n"
-"SubregionName: string\n"
+"--SubregionName: string\n"
" The name of the Subregion in which you want to create the Subnet.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"OsuExport: ref OsuExportToCreate\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--OsuExport: ref OsuExportToCreate\n"
" Information about the OOS export task to create.\n"
- " -DiskImageFormat: string\n"
+ " --OsuExport.DiskImageFormat: string\n"
" The format of the export disk (`qcow2` \\| `raw`).\n"
- " -OsuApiKey: ref OsuApiKey\n"
+ " --OsuExport.OsuApiKey: ref OsuApiKey\n"
" Information about the OOS API key.\n"
- " -ApiKeyId: string\n"
- " The API key of the OOS account that enables you to access the \n"
- " bucket.\n"
- " -SecretKey: string\n"
- " The secret key of the OOS account that enables you to access \n"
- " the bucket.\n"
- " -OsuBucket: string\n"
- " The name of the OOS bucket where you want to export the \n"
- " object.\n"
- " -OsuManifestUrl: string\n"
+ " --OsuExport.OsuApiKey.ApiKeyId: string\n"
+ " The API key of the OOS account that enables you to access the bucket.\n"
+ " --OsuExport.OsuApiKey.SecretKey: string\n"
+ " The secret key of the OOS account that enables you to access the bucket.\n"
+ " --OsuExport.OsuBucket: string\n"
+ " The name of the OOS bucket where you want to export the object.\n"
+ " --OsuExport.OsuManifestUrl: string\n"
" The URL of the manifest file.\n"
- " -OsuPrefix: string\n"
+ " --OsuExport.OsuPrefix: string\n"
" The prefix for the key of the OOS object.\n"
-"SnapshotId: string\n"
+"--SnapshotId: string\n"
" The ID of the snapshot to export.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A description for the snapshot.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FileLocation: string\n"
- " **(when importing from a bucket)** The pre-signed URL of the snapshot \n"
- " you want to import, or the normal URL of the snapshot if you have \n"
- " permission on the OOS bucket. For more information, see [Configuring a \n"
- " Pre-signed \n"
- " URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL\n"
- " .html) or [Managing Access to Your Buckets and \n"
- " Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-\n"
- " Buckets-and-Objects.html).\n"
-"SnapshotSize: int\n"
- " **(when importing from a bucket)** The size of the snapshot you want to \n"
- " create in your account, in bytes. This size must be greater than or \n"
- " equal to the size of the original, uncompressed snapshot.\n"
-"SourceRegionName: string\n"
- " **(when copying a snapshot)** The name of the source Region, which must \n"
- " be the same as the Region of your account.\n"
-"SourceSnapshotId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FileLocation: string\n"
+ " **(when importing from a bucket)** The pre-signed URL of the snapshot you want to import, \n"
+ " or the normal URL of the snapshot if you have permission on the OOS bucket. For more \n"
+ " information, see [Configuring a Pre-signed \n"
+ " URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL.html) or [Managing \n"
+ " Access to Your Buckets and \n"
+ " Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-Buckets-and-Objects.\n"
+ " html).\n"
+"--SnapshotSize: int\n"
+ " **(when importing from a bucket)** The size of the snapshot you want to create in your \n"
+ " account, in bytes. This size must be greater than or equal to the size of the original, \n"
+ " uncompressed snapshot.\n"
+"--SourceRegionName: string\n"
+ " **(when copying a snapshot)** The name of the source Region, which must be the same as the \n"
+ " Region of your account.\n"
+"--SourceSnapshotId: string\n"
" **(when copying a snapshot)** The ID of the snapshot you want to copy.\n"
-"VolumeId: string\n"
- " **(when creating from a volume)** The ID of the volume you want to \n"
- " create a snapshot of.\n"
-,
- "Body: string\n"
- " The PEM-encoded X509 certificate.With OSC CLI, use the following syntax \n"
- " to make sure your certificate file is correctly parsed: \n"
- " `--Body=\"$(cat FILENAME)\"`.\n"
-"Chain: string\n"
- " The PEM-encoded intermediate certification authorities.With OSC CLI, \n"
- " use the following syntax to make sure your certificate chain file is \n"
- " correctly parsed: `--Chain=\"$(cat FILENAME)\"`.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Name: string\n"
- " A unique name for the certificate. Constraints: 1-128 alphanumeric \n"
- " characters, pluses (+), equals (=), commas (,), periods (.), at signs \n"
- " (@), minuses (-), or underscores (_).\n"
-"Path: string\n"
+"--VolumeId: string\n"
+ " **(when creating from a volume)** The ID of the volume you want to create a snapshot of.\n"
+,
+ "--Body: string\n"
+ " The PEM-encoded X509 certificate.With OSC CLI, use the following syntax to make sure your \n"
+ " certificate file is correctly parsed: `--Body=\"$(cat FILENAME)\"`.\n"
+"--Chain: string\n"
+ " The PEM-encoded intermediate certification authorities.With OSC CLI, use the following \n"
+ " syntax to make sure your certificate chain file is correctly parsed: `--Chain=\"$(cat \n"
+ " FILENAME)\"`.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Name: string\n"
+ " A unique name for the certificate. Constraints: 1-128 alphanumeric characters, pluses (+), \n"
+ " equals (=), commas (,), periods (.), at signs (@), minuses (-), or underscores (_).\n"
+"--Path: string\n"
" The path to the server certificate, set to a slash (/) if not specified.\n"
-"PrivateKey: string\n"
- " The PEM-encoded private key matching the certificate.With OSC CLI, use \n"
- " the following syntax to make sure your key file is correctly parsed: \n"
- " `--PrivateKey=\"$(cat FILENAME)\"`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Flow: string\n"
- " The direction of the flow: `Inbound` or `Outbound`. You can specify \n"
- " `Outbound` for Nets only.\n"
-"FromPortRange: int\n"
- " The beginning of the port range for the TCP and UDP protocols, or an \n"
- " ICMP type number. If you specify this parameter, you cannot specify the \n"
- " `Rules` parameter and its subparameters.\n"
-"IpProtocol: string\n"
- " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). \n"
- " By default, `-1`. In a Net, this can also be an IP protocol number. For \n"
- " more information, see the [IANA.org \n"
- " website](https://www.iana.org/assignments/protocol-numbers/protocol-numb\n"
- " ers.xhtml). If you specify this parameter, you cannot specify the \n"
- " `Rules` parameter and its subparameters.\n"
-"IpRange: string\n"
- " The IP range for the security group rule, in CIDR notation (for \n"
- " example, 10.0.0.0/16). If you specify this parameter, you cannot \n"
- " specify the `Rules` parameter and its subparameters.\n"
-"Rules: array ref SecurityGroupRule\n"
- " Information about the security group rule to create. If you specify \n"
- " this parent parameter and its subparameters, you cannot specify the \n"
- " following parent parameters: `FromPortRange`, `IpProtocol`, `IpRange`, \n"
- " and `ToPortRange`.\n"
+"--PrivateKey: string\n"
+ " The PEM-encoded private key matching the certificate.With OSC CLI, use the following syntax \n"
+ " to make sure your key file is correctly parsed: `--PrivateKey=\"$(cat FILENAME)\"`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Flow: string\n"
+ " The direction of the flow: `Inbound` or `Outbound`. You can specify `Outbound` for Nets \n"
+ " only.\n"
+"--FromPortRange: int\n"
+ " The beginning of the port range for the TCP and UDP protocols, or an ICMP type number. If \n"
+ " you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.\n"
+"--IpProtocol: string\n"
+ " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). By default, `-1`. \n"
+ " In a Net, this can also be an IP protocol number. For more information, see the [IANA.org \n"
+ " website](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). If you \n"
+ " specify this parameter, you cannot specify the `Rules` parameter and its subparameters.\n"
+"--IpRange: string\n"
+ " The IP range for the security group rule, in CIDR notation (for example, 10.0.0.0/16). If \n"
+ " you specify this parameter, you cannot specify the `Rules` parameter and its subparameters.\n"
+"--Rules: array ref SecurityGroupRule\n"
+ " Information about the security group rule to create. If you specify this parent parameter \n"
+ " and its subparameters, you cannot specify the following parent parameters: `FromPortRange`, \n"
+ " `IpProtocol`, `IpRange`, and `ToPortRange`.\n"
" Information about the security group rule.\n"
- " -FromPortRange: int\n"
- " The beginning of the port range for the TCP and UDP protocols, \n"
- " or an ICMP type number.\n"
- " -IpProtocol: string\n"
- " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all \n"
- " protocols). By default, `-1`. In a Net, this can also be an IP \n"
- " protocol number. For more information, see the [IANA.org \n"
- " website](https://www.iana.org/assignments/protocol-numbers/proto\n"
- " col-numbers.xhtml).\n"
- " -IpRanges: array string\n"
- " One or more IP ranges for the security group rules, in CIDR \n"
- " notation (for example, `10.0.0.0/16`).\n"
- " -SecurityGroupsMembers: array ref SecurityGroupsMember\n"
- " Information about one or more source or destination security \n"
- " groups.\n"
+ " --Rules.INDEX.FromPortRange: int\n"
+ " The beginning of the port range for the TCP and UDP protocols, or an \n"
+ " ICMP type number.\n"
+ " --Rules.INDEX.IpProtocol: string\n"
+ " The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all protocols). \n"
+ " By default, `-1`. In a Net, this can also be an IP protocol number. For \n"
+ " more information, see the [IANA.org \n"
+ " website](https://www.iana.org/assignments/protocol-numbers/protocol-number\n"
+ " s.xhtml).\n"
+ " --Rules.INDEX.IpRanges: array string\n"
+ " One or more IP ranges for the security group rules, in CIDR notation \n"
+ " (for example, `10.0.0.0/16`).\n"
+ " --Rules.INDEX.SecurityGroupsMembers: array ref SecurityGroupsMember\n"
+ " Information about one or more source or destination security groups.\n"
" Information about a source or destination security group.\n"
- " -AccountId: string\n"
- " The account ID that owns the source or destination security \n"
- " group.\n"
- " -SecurityGroupId: string\n"
- " The ID of a source or destination security group that you want \n"
- " to link to the security group of the rule.\n"
- " -SecurityGroupName: string\n"
- " (Public Cloud only) The name of a source or destination \n"
- " security group that you want to link to the security group of \n"
- " the rule.\n"
- " -ServiceIds: array string\n"
- " One or more service IDs to allow traffic from a Net to access \n"
- " the corresponding OUTSCALE services. For more information, see \n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.AccountId: string\n"
+ " The account ID that owns the source or destination security group.\n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId: string\n"
+ " The ID of a source or destination security group that you want to link \n"
+ " to the security group of the rule.\n"
+ " --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName: string\n"
+ " (Public Cloud only) The name of a source or destination security group \n"
+ " that you want to link to the security group of the rule.\n"
+ " --Rules.INDEX.ServiceIds: array string\n"
+ " One or more service IDs to allow traffic from a Net to access the \n"
+ " corresponding OUTSCALE services. For more information, see \n"
" [ReadNetAccessPointServices](#readnetaccesspointservices).\n"
- " -ToPortRange: int\n"
- " The end of the port range for the TCP and UDP protocols, or an \n"
- " ICMP code number.\n"
-"SecurityGroupAccountIdToLink: string\n"
- " The account ID that owns the source or destination security group \n"
- " specified in the `SecurityGroupNameToLink` parameter.\n"
-"SecurityGroupId: string\n"
+ " --Rules.INDEX.ToPortRange: int\n"
+ " The end of the port range for the TCP and UDP protocols, or an ICMP code \n"
+ " number.\n"
+"--SecurityGroupAccountIdToLink: string\n"
+ " The account ID that owns the source or destination security group specified in the \n"
+ " `SecurityGroupNameToLink` parameter.\n"
+"--SecurityGroupId: string\n"
" The ID of the security group for which you want to create a rule.\n"
-"SecurityGroupNameToLink: string\n"
- " The ID of a source or destination security group that you want to link \n"
- " to the security group of the rule.\n"
-"ToPortRange: int\n"
- " The end of the port range for the TCP and UDP protocols, or an ICMP \n"
- " code number. If you specify this parameter, you cannot specify the \n"
- " `Rules` parameter and its subparameters.\n"
-,
- "Description: string\n"
- " A description for the security group.\nThis description can contain \n"
- " between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, \n"
- " `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=&;{}!$*`.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
- " The ID of the Net for the security group.\n"
-"SecurityGroupName: string\n"
- " The name of the security group.\nThis name must not start with \n"
- " `sg-`.\nThis name must be unique and contain between 1 and 255 \n"
- " characters. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and \n"
+"--SecurityGroupNameToLink: string\n"
+ " The ID of a source or destination security group that you want to link to the security \n"
+ " group of the rule.\n"
+"--ToPortRange: int\n"
+ " The end of the port range for the TCP and UDP protocols, or an ICMP code number. If you \n"
+ " specify this parameter, you cannot specify the `Rules` parameter and its subparameters.\n"
+,
+ "--Description: string\n"
+ " A description for the security group.\nThis description can contain between 1 and 255 \n"
+ " characters. Allowed characters are `a-z`, `A-Z`, `0-9`, accented letters, spaces, and \n"
" `_.-:/()#,@[]+=&;{}!$*`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
+ " The ID of the Net for the security group.\n"
+"--SecurityGroupName: string\n"
+ " The name of the security group.\nThis name must not start with `sg-`.\nThis name must be \n"
+ " unique and contain between 1 and 255 characters. Allowed characters are `a-z`, `A-Z`, \n"
+ " `0-9`, spaces, and `_.-:/()#,@[]+=&;{}!$*`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net for which you want to create a route table.\n"
,
- "DestinationIpRange: string\n"
- " The IP range used for the destination match, in CIDR notation (for \n"
- " example, `10.0.0.0/24`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"GatewayId: string\n"
+ "--DestinationIpRange: string\n"
+ " The IP range used for the destination match, in CIDR notation (for example, `10.0.0.0/24`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--GatewayId: string\n"
" The ID of an Internet service or virtual gateway attached to your Net.\n"
-"NatServiceId: string\n"
+"--NatServiceId: string\n"
" The ID of a NAT service.\n"
-"NetPeeringId: string\n"
+"--NetPeeringId: string\n"
" The ID of a Net peering.\n"
-"NicId: string\n"
+"--NicId: string\n"
" The ID of a NIC.\n"
-"RouteTableId: string\n"
+"--RouteTableId: string\n"
" The ID of the route table for which you want to create a route.\n"
-"VmId: string\n"
+"--VmId: string\n"
" The ID of a NAT VM in your Net (attached to exactly one NIC).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" The description of the product type.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Vendor: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Vendor: string\n"
" The vendor of the product type.\n"
,
- "Document: string\n"
- " The policy document, corresponding to a JSON string that contains the \n"
- " policy. For more information, see [EIM Reference \n"
- " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Inform\n"
- " ation.html).\n"
-"PolicyOrn: string\n"
- " The OUTSCALE Resource Name (ORN) of the policy. For more information, \n"
- " see [Resource \n"
- " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers\n"
- " .html).\n"
-"SetAsDefault: bool\n"
- " If set to true, the new policy version is set as the default version \n"
- " and becomes the operative one.\n"
-,
- "Description: string\n"
+ "--Document: string\n"
+ " The policy document, corresponding to a JSON string that contains the policy. For more \n"
+ " information, see [EIM Reference \n"
+ " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html).\n"
+"--PolicyOrn: string\n"
+ " The OUTSCALE Resource Name (ORN) of the policy. For more information, see [Resource \n"
+ " Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifiers.html).\n"
+"--SetAsDefault: bool\n"
+ " If set to true, the new policy version is set as the default version and becomes the \n"
+ " operative one.\n"
+,
+ "--Description: string\n"
" A description for the policy.\n"
-"Document: string\n"
- " The policy document, corresponding to a JSON string that contains the \n"
- " policy. For more information, see [EIM Reference \n"
- " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Inform\n"
- " ation.html).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Path: string\n"
+"--Document: string\n"
+ " The policy document, corresponding to a JSON string that contains the policy. For more \n"
+ " information, see [EIM Reference \n"
+ " Information](https://docs.outscale.com/en/userguide/EIM-Reference-Information.html).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Path: string\n"
" The path of the policy.\n"
-"PolicyName: string\n"
+"--PolicyName: string\n"
" The name of the policy.\n"
,
- "Description: string\n"
+ "--Description: string\n"
" A description for the NIC.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PrivateIps: array ref PrivateIpLight\n"
- " The primary private IP for the NIC.\nThis IP must be within the IP \n"
- " range of the Subnet that you specify with the `SubnetId` attribute.\nIf \n"
- " you do not specify this attribute, a random private IP is selected \n"
- " within the IP range of the Subnet.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PrivateIps: array ref PrivateIpLight\n"
+ " The primary private IP for the NIC.\nThis IP must be within the IP range of the Subnet that \n"
+ " you specify with the `SubnetId` attribute.\nIf you do not specify this attribute, a random \n"
+ " private IP is selected within the IP range of the Subnet.\n"
" Information about the private IP.\n"
- " -IsPrimary: bool\n"
+ " --PrivateIps.INDEX.IsPrimary: bool\n"
" If true, the IP is the primary private IP of the NIC.\n"
- " -PrivateIp: string\n"
+ " --PrivateIps.INDEX.PrivateIp: string\n"
" The private IP of the NIC.\n"
-"SecurityGroupIds: array string\n"
+"--SecurityGroupIds: array string\n"
" One or more IDs of security groups for the NIC.\n"
-"SubnetId: string\n"
+"--SubnetId: string\n"
" The ID of the Subnet in which you want to create the NIC.\n"
,
- "AccepterNetId: string\n"
+ "--AccepterNetId: string\n"
" The ID of the Net you want to connect with.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"SourceNetId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--SourceNetId: string\n"
" The ID of the Net you send the peering request from.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetId: string\n"
" The ID of the Net.\n"
-"RouteTableIds: array string\n"
+"--RouteTableIds: array string\n"
" One or more IDs of route tables to use for the connection.\n"
-"ServiceName: string\n"
+"--ServiceName: string\n"
" The name of the service (in the format `com.outscale.region.service`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"IpRange: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--IpRange: string\n"
" The IP range for the Net, in CIDR notation (for example, `10.0.0.0/16`).\n"
-"Tenancy: string\n"
- " The tenancy options for the VMs:\n- `default` if a VM created in a Net \n"
- " can be launched with any tenancy.\n- `dedicated` if it can be launched \n"
- " with dedicated tenancy VMs running on single-tenant hardware.\n- \n"
- " `dedicated group ID`: if it can be launched in a dedicated group on \n"
- " single-tenant hardware.\n"
-,
- "ClientToken: string\n"
+"--Tenancy: string\n"
+ " The tenancy options for the VMs:\n- `default` if a VM created in a Net can be launched with \n"
+ " any tenancy.\n- `dedicated` if it can be launched with dedicated tenancy VMs running on \n"
+ " single-tenant hardware.\n- `dedicated group ID`: if it can be launched in a dedicated group \n"
+ " on single-tenant hardware.\n"
+,
+ "--ClientToken: string\n"
" A unique identifier which enables you to manage the idempotency.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PublicIpId: string\n"
- " The allocation ID of the public IP to associate with the NAT \n"
- " service.\nIf the public IP is already associated with another resource, \n"
- " you must first disassociate it.\n"
-"SubnetId: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PublicIpId: string\n"
+ " The allocation ID of the public IP to associate with the NAT service.\nIf the public IP is \n"
+ " already associated with another resource, you must first disassociate it.\n"
+"--SubnetId: string\n"
" The ID of the Subnet in which you want to create the NAT service.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerNames: array string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerNames: array string\n"
" One or more load balancer names.\n"
-"Tags: array ref ResourceTag\n"
+"--Tags: array ref ResourceTag\n"
" One or more tags to add to the specified load balancers.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
,
- "CookieExpirationPeriod: int\n"
- " The lifetime of the cookie, in seconds. If not specified, the default \n"
- " value of this parameter is `1`, which means that the sticky session \n"
- " lasts for the duration of the browser session.\n"
-"CookieName: string\n"
- " The name of the application cookie used for stickiness. This parameter \n"
- " is required if you create a stickiness policy based on an \n"
- " application-generated cookie.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LoadBalancerName: string\n"
+ "--CookieExpirationPeriod: int\n"
+ " The lifetime of the cookie, in seconds. If not specified, the default value of this \n"
+ " parameter is `1`, which means that the sticky session lasts for the duration of the browser \n"
+ " session.\n"
+"--CookieName: string\n"
+ " The name of the application cookie used for stickiness. This parameter is required if you \n"
+ " create a stickiness policy based on an application-generated cookie.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer for which you want to create a policy.\n"
-"PolicyName: string\n"
- " The name of the policy. This name must be unique and consist of \n"
- " alphanumeric characters and dashes (-).\n"
-"PolicyType: string\n"
- " The type of stickiness policy you want to create: `app` or \n"
- " `load_balancer`.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Listeners: array ref ListenerForCreation\n"
+"--PolicyName: string\n"
+ " The name of the policy. This name must be unique and consist of alphanumeric characters and \n"
+ " dashes (-).\n"
+"--PolicyType: string\n"
+ " The type of stickiness policy you want to create: `app` or `load_balancer`.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Listeners: array ref ListenerForCreation\n"
" One or more listeners for the load balancer.\n"
" Information about the listener to create.\n"
- " -BackendPort: int\n"
- " The port on which the backend VM is listening (between `1` and \n"
+ " --Listeners.INDEX.BackendPort: int\n"
+ " The port on which the backend VM is listening (between `1` and `65535`, \n"
+ " both included).\n"
+ " --Listeners.INDEX.BackendProtocol: string\n"
+ " The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| \n"
+ " `TCP` \\| `SSL`).\n"
+ " --Listeners.INDEX.LoadBalancerPort: int\n"
+ " The port on which the load balancer is listening (between `1` and \n"
" `65535`, both included).\n"
- " -BackendProtocol: string\n"
- " The protocol for routing traffic to backend VMs (`HTTP` \\| \n"
- " `HTTPS` \\| `TCP` \\| `SSL`).\n"
- " -LoadBalancerPort: int\n"
- " The port on which the load balancer is listening (between `1` \n"
- " and `65535`, both included).\n"
- " -LoadBalancerProtocol: string\n"
+ " --Listeners.INDEX.LoadBalancerProtocol: string\n"
" The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"
- " -ServerCertificateId: string\n"
- " The OUTSCALE Resource Name (ORN) of the server certificate. \n"
- " For more information, see [Resource Identifiers > OUTSCALE \n"
- " Resource Names \n"
- " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifi\n"
- " ers.html#_outscale_resource_names_orns).\n"
-"LoadBalancerName: string\n"
+ " --Listeners.INDEX.ServerCertificateId: string\n"
+ " The OUTSCALE Resource Name (ORN) of the server certificate. For more \n"
+ " information, see [Resource Identifiers > OUTSCALE Resource Names \n"
+ " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_\n"
+ " outscale_resource_names_orns).\n"
+"--LoadBalancerName: string\n"
" The name of the load balancer for which you want to create listeners.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Listeners: array ref ListenerForCreation\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Listeners: array ref ListenerForCreation\n"
" One or more listeners to create.\n"
" Information about the listener to create.\n"
- " -BackendPort: int\n"
- " The port on which the backend VM is listening (between `1` and \n"
+ " --Listeners.INDEX.BackendPort: int\n"
+ " The port on which the backend VM is listening (between `1` and `65535`, \n"
+ " both included).\n"
+ " --Listeners.INDEX.BackendProtocol: string\n"
+ " The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS` \\| \n"
+ " `TCP` \\| `SSL`).\n"
+ " --Listeners.INDEX.LoadBalancerPort: int\n"
+ " The port on which the load balancer is listening (between `1` and \n"
" `65535`, both included).\n"
- " -BackendProtocol: string\n"
- " The protocol for routing traffic to backend VMs (`HTTP` \\| \n"
- " `HTTPS` \\| `TCP` \\| `SSL`).\n"
- " -LoadBalancerPort: int\n"
- " The port on which the load balancer is listening (between `1` \n"
- " and `65535`, both included).\n"
- " -LoadBalancerProtocol: string\n"
+ " --Listeners.INDEX.LoadBalancerProtocol: string\n"
" The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).\n"
- " -ServerCertificateId: string\n"
- " The OUTSCALE Resource Name (ORN) of the server certificate. \n"
- " For more information, see [Resource Identifiers > OUTSCALE \n"
- " Resource Names \n"
- " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifi\n"
- " ers.html#_outscale_resource_names_orns).\n"
-"LoadBalancerName: string\n"
- " The unique name of the load balancer (32 alphanumeric or hyphen \n"
- " characters maximum, but cannot start or end with a hyphen).\n"
-"LoadBalancerType: string\n"
- " The type of load balancer: `internet-facing` or `internal`. Use this \n"
- " parameter only for load balancers in a Net.\n"
-"PublicIp: string\n"
- " (internet-facing only) The public IP you want to associate with the \n"
- " load balancer. If not specified, a public IP owned by 3DS OUTSCALE is \n"
- " associated.\n"
-"SecurityGroups: array string\n"
- " (Net only) One or more IDs of security groups you want to assign to the \n"
- " load balancer. If not specified, the default security group of the Net \n"
- " is assigned to the load balancer.\n"
-"Subnets: array string\n"
- " (Net only) The ID of the Subnet in which you want to create the load \n"
- " balancer. Regardless of this Subnet, the load balancer can distribute \n"
- " traffic to all Subnets. This parameter is required in a Net.\n"
-"SubregionNames: array string\n"
- " (public Cloud only) The Subregion in which you want to create the load \n"
- " balancer. Regardless of this Subregion, the load balancer can \n"
- " distribute traffic to all Subregions. This parameter is required in the \n"
- " public Cloud.\n"
-"Tags: array ref ResourceTag\n"
+ " --Listeners.INDEX.ServerCertificateId: string\n"
+ " The OUTSCALE Resource Name (ORN) of the server certificate. For more \n"
+ " information, see [Resource Identifiers > OUTSCALE Resource Names \n"
+ " (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.html#_\n"
+ " outscale_resource_names_orns).\n"
+"--LoadBalancerName: string\n"
+ " The unique name of the load balancer (32 alphanumeric or hyphen characters maximum, but \n"
+ " cannot start or end with a hyphen).\n"
+"--LoadBalancerType: string\n"
+ " The type of load balancer: `internet-facing` or `internal`. Use this parameter only for \n"
+ " load balancers in a Net.\n"
+"--PublicIp: string\n"
+ " (internet-facing only) The public IP you want to associate with the load balancer. If not \n"
+ " specified, a public IP owned by 3DS OUTSCALE is associated.\n"
+"--SecurityGroups: array string\n"
+ " (Net only) One or more IDs of security groups you want to assign to the load balancer. If \n"
+ " not specified, the default security group of the Net is assigned to the load balancer.\n"
+"--Subnets: array string\n"
+ " (Net only) The ID of the Subnet in which you want to create the load balancer. Regardless \n"
+ " of this Subnet, the load balancer can distribute traffic to all Subnets. This parameter is \n"
+ " required in a Net.\n"
+"--SubregionNames: array string\n"
+ " (public Cloud only) The Subregion in which you want to create the load balancer. Regardless \n"
+ " of this Subregion, the load balancer can distribute traffic to all Subregions. This \n"
+ " parameter is required in the public Cloud.\n"
+"--Tags: array ref ResourceTag\n"
" One or more tags assigned to the load balancer.\n"
" Information about the tag.\n"
- " -Key: string\n"
+ " --Tags.INDEX.Key: string\n"
" The key of the tag, with a minimum of 1 character.\n"
- " -Value: string\n"
+ " --Tags.INDEX.Value: string\n"
" The value of the tag, between 0 and 255 characters.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Listener: ref LoadBalancerLight\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Listener: ref LoadBalancerLight\n"
" Information about the load balancer.\n"
- " -LoadBalancerName: string\n"
- " The name of the load balancer to which the listener is \n"
- " attached.\n"
- " -LoadBalancerPort: int\n"
- " The port of load balancer on which the load balancer is \n"
- " listening (between `1` and `65535` both included).\n"
-"ListenerRule: ref ListenerRuleForCreation\n"
+ " --Listener.LoadBalancerName: string\n"
+ " The name of the load balancer to which the listener is attached.\n"
+ " --Listener.LoadBalancerPort: int\n"
+ " The port of load balancer on which the load balancer is listening \n"
+ " (between `1` and `65535` both included).\n"
+"--ListenerRule: ref ListenerRuleForCreation\n"
" Information about the listener rule.\n"
- " -Action: string\n"
+ " --ListenerRule.Action: string\n"
" The type of action for the rule (always `forward`).\n"
- " -HostNamePattern: string\n"
+ " --ListenerRule.HostNamePattern: string\n"
" A host-name pattern for the rule, with a maximum length of 128 \n"
- " characters. This host-name pattern supports maximum three \n"
- " wildcards, and must not contain any special characters except \n"
- " [-.?].\n"
- " -ListenerRuleName: string\n"
+ " characters. This host-name pattern supports maximum three wildcards, and \n"
+ " must not contain any special characters except [-.?].\n"
+ " --ListenerRule.ListenerRuleName: string\n"
" A human-readable name for the listener rule.\n"
- " -PathPattern: string\n"
- " A path pattern for the rule, with a maximum length of 128 \n"
- " characters. This path pattern supports maximum three wildcards, \n"
- " and must not contain any special characters except \n"
- " [_-.$/~\"'@:+?].\n"
- " -Priority: int\n"
- " The priority level of the listener rule, between `1` and \n"
- " `19999` both included. Each rule must have a unique priority \n"
- " level. Otherwise, an error is returned.\n"
-"VmIds: array string\n"
+ " --ListenerRule.PathPattern: string\n"
+ " A path pattern for the rule, with a maximum length of 128 characters. \n"
+ " This path pattern supports maximum three wildcards, and must not contain \n"
+ " any special characters except [_-.$/~\"'@:+?].\n"
+ " --ListenerRule.Priority: int\n"
+ " The priority level of the listener rule, between `1` and `19999` both \n"
+ " included. Each rule must have a unique priority level. Otherwise, an \n"
+ " error is returned.\n"
+"--VmIds: array string\n"
" The IDs of the backend VMs.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"KeypairName: string\n"
- " A unique name for the keypair, with a maximum length of 255 [ASCII \n"
- " printable \n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--KeypairName: string\n"
+ " A unique name for the keypair, with a maximum length of 255 [ASCII printable \n"
" characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).\n"
-"PublicKey: string\n"
- " The public key to import in your account, if you are importing an \n"
- " existing keypair. This value must be Base64-encoded.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ImageId: string\n"
+"--PublicKey: string\n"
+ " The public key to import in your account, if you are importing an existing keypair. This \n"
+ " value must be Base64-encoded.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ImageId: string\n"
" The ID of the OMI to export.\n"
-"OsuExport: ref OsuExportToCreate\n"
+"--OsuExport: ref OsuExportToCreate\n"
" Information about the OOS export task to create.\n"
- " -DiskImageFormat: string\n"
+ " --OsuExport.DiskImageFormat: string\n"
" The format of the export disk (`qcow2` \\| `raw`).\n"
- " -OsuApiKey: ref OsuApiKey\n"
+ " --OsuExport.OsuApiKey: ref OsuApiKey\n"
" Information about the OOS API key.\n"
- " -ApiKeyId: string\n"
- " The API key of the OOS account that enables you to access the \n"
- " bucket.\n"
- " -SecretKey: string\n"
- " The secret key of the OOS account that enables you to access \n"
- " the bucket.\n"
- " -OsuBucket: string\n"
- " The name of the OOS bucket where you want to export the \n"
- " object.\n"
- " -OsuManifestUrl: string\n"
+ " --OsuExport.OsuApiKey.ApiKeyId: string\n"
+ " The API key of the OOS account that enables you to access the bucket.\n"
+ " --OsuExport.OsuApiKey.SecretKey: string\n"
+ " The secret key of the OOS account that enables you to access the bucket.\n"
+ " --OsuExport.OsuBucket: string\n"
+ " The name of the OOS bucket where you want to export the object.\n"
+ " --OsuExport.OsuManifestUrl: string\n"
" The URL of the manifest file.\n"
- " -OsuPrefix: string\n"
+ " --OsuExport.OsuPrefix: string\n"
" The prefix for the key of the OOS object.\n"
,
- "Architecture: string\n"
- " **(when registering from a snapshot, or from a bucket without using a \n"
- " manifest file)** The architecture of the OMI (`i386` or `x86_64`).\n"
-"BlockDeviceMappings: array ref BlockDeviceMappingImage\n"
- " **(when registering from a snapshot, or from a bucket without using a \n"
- " manifest file)** One or more block device mappings.\n"
- " One or more parameters used to automatically set up volumes \n"
- " when the VM is created.\n"
- " -Bsu: ref BsuToCreate\n"
+ "--Architecture: string\n"
+ " **(when registering from a snapshot, or from a bucket without using a manifest file)** The \n"
+ " architecture of the OMI (`i386` or `x86_64`).\n"
+"--BlockDeviceMappings: array ref BlockDeviceMappingImage\n"
+ " **(when registering from a snapshot, or from a bucket without using a manifest file)** One \n"
+ " or more block device mappings.\n"
+ " One or more parameters used to automatically set up volumes when the VM \n"
+ " is created.\n"
+ " --BlockDeviceMappings.INDEX.Bsu: ref BsuToCreate\n"
" Information about the BSU volume to create.\n"
- " -DeleteOnVmDeletion: bool\n"
- " By default or if set to true, the volume is deleted when \n"
- " terminating the VM. If false, the volume is not deleted when \n"
- " terminating the VM.\n"
- " -Iops: int\n"
- " The number of I/O operations per second (IOPS). This parameter \n"
- " must be specified only if you create an `io1` volume. The \n"
- " maximum number of IOPS allowed for `io1` volumes is `13000` \n"
- " with a maximum performance ratio of 300 IOPS per gibibyte.\n"
- " -SnapshotId: string\n"
+ " --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool\n"
+ " By default or if set to true, the volume is deleted when terminating the \n"
+ " VM. If false, the volume is not deleted when terminating the VM.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.Iops: int\n"
+ " The number of I/O operations per second (IOPS). This parameter must be \n"
+ " specified only if you create an `io1` volume. The maximum number of IOPS \n"
+ " allowed for `io1` volumes is `13000` with a maximum performance ratio of \n"
+ " 300 IOPS per gibibyte.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.SnapshotId: string\n"
" The ID of the snapshot used to create the volume.\n"
- " -VolumeSize: int\n"
- " The size of the volume, in gibibytes (GiB).\nIf you \n"
- " specify a snapshot ID, the volume size must be at least equal \n"
- " to the snapshot size.\nIf you specify a snapshot ID but \n"
- " no volume size, the volume is created with a size similar to \n"
- " the snapshot one.\n"
- " -VolumeType: string\n"
- " The type of the volume (`standard` \\| `io1` \\| `gp2`). If \n"
- " not specified in the request, a `standard` volume is \n"
- " created.\nFor more information about volume types, see \n"
- " [About Volumes > Volume Types and \n"
- " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#\n"
- " _volume_types_and_iops).\n"
- " -DeviceName: string\n"
- " The device name for the volume. For a root device, you must \n"
- " use `/dev/sda1`. For other volumes, you must use `/dev/sdX`, \n"
- " `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` \n"
- " is a letter between `b` and `z`, and the second `X` is a letter \n"
- " between `a` and `z`).\n"
- " -VirtualDeviceName: string\n"
+ " --BlockDeviceMappings.INDEX.Bsu.VolumeSize: int\n"
+ " The size of the volume, in gibibytes (GiB).\nIf you specify a \n"
+ " snapshot ID, the volume size must be at least equal to the snapshot \n"
+ " size.\nIf you specify a snapshot ID but no volume size, the volume \n"
+ " is created with a size similar to the snapshot one.\n"
+ " --BlockDeviceMappings.INDEX.Bsu.VolumeType: string\n"
+ " The type of the volume (`standard` \\| `io1` \\| `gp2`). If not \n"
+ " specified in the request, a `standard` volume is created.\nFor more \n"
+ " information about volume types, see [About Volumes > Volume Types and \n"
+ " IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volume_ty\n"
+ " pes_and_iops).\n"
+ " --BlockDeviceMappings.INDEX.DeviceName: string\n"
+ " The device name for the volume. For a root device, you must use \n"
+ " `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`, \n"
+ " `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between `b` \n"
+ " and `z`, and the second `X` is a letter between `a` and `z`).\n"
+ " --BlockDeviceMappings.INDEX.VirtualDeviceName: string\n"
" The name of the virtual device (`ephemeralN`).\n"
-"Description: string\n"
+"--Description: string\n"
" A description for the new OMI.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"FileLocation: string\n"
- " **(when registering from a bucket by using a manifest file)** The \n"
- " pre-signed URL of the manifest file for the OMI you want to register. \n"
- " For more information, see [Configuring a Pre-signed \n"
- " URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL\n"
- " .html) or [Managing Access to Your Buckets and \n"
- " Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-\n"
- " Buckets-and-Objects.html).\nYou can also specify the normal URL of the \n"
- " OMI if you have permission on the OOS bucket, without using the \n"
- " manifest file, but in that case, you need to manually specify through \n"
- " the other parameters all the information that would otherwise be read \n"
- " from the manifest file.\n"
-"ImageName: string\n"
- " A unique name for the new OMI.\nConstraints: 3-128 alphanumeric \n"
- " characters, underscores (`_`), spaces (` `), parentheses (`()`), \n"
- " slashes (`/`), periods (`.`), or dashes (`-`).\n"
-"NoReboot: bool\n"
- " **(when creating from a VM)** If false, the VM shuts down before \n"
- " creating the OMI and then reboots. If true, the VM does not.\n"
-"ProductCodes: array string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--FileLocation: string\n"
+ " **(when registering from a bucket by using a manifest file)** The pre-signed URL of the \n"
+ " manifest file for the OMI you want to register. For more information, see [Configuring a \n"
+ " Pre-signed URL](https://docs.outscale.com/en/userguide/Configuring-a-Pre-signed-URL.html) \n"
+ " or [Managing Access to Your Buckets and \n"
+ " Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-Your-Buckets-and-Objects.\n"
+ " html).\nYou can also specify the normal URL of the OMI if you have permission on the OOS \n"
+ " bucket, without using the manifest file, but in that case, you need to manually specify \n"
+ " through the other parameters all the information that would otherwise be read from the \n"
+ " manifest file.\n"
+"--ImageName: string\n"
+ " A unique name for the new OMI.\nConstraints: 3-128 alphanumeric characters, underscores \n"
+ " (`_`), spaces (` `), parentheses (`()`), slashes (`/`), periods (`.`), or dashes (`-`).\n"
+"--NoReboot: bool\n"
+ " **(when creating from a VM)** If false, the VM shuts down before creating the OMI and then \n"
+ " reboots. If true, the VM does not.\n"
+"--ProductCodes: array string\n"
" The product codes associated with the OMI.\n"
-"RootDeviceName: string\n"
- " **(when registering from a snapshot, or from a bucket without using a \n"
- " manifest file)** The name of the root device for the new OMI.\n"
-"SourceImageId: string\n"
+"--RootDeviceName: string\n"
+ " **(when registering from a snapshot, or from a bucket without using a manifest file)** The \n"
+ " name of the root device for the new OMI.\n"
+"--SourceImageId: string\n"
" **(when copying an OMI)** The ID of the OMI you want to copy.\n"
-"SourceRegionName: string\n"
- " **(when copying an OMI)** The name of the source Region (always the \n"
- " same as the Region of your account).\n"
-"VmId: string\n"
- " **(when creating from a VM)** The ID of the VM from which you want to \n"
- " create the OMI.\n"
-,
- "DeleteOnVmDeletion: bool\n"
+"--SourceRegionName: string\n"
+ " **(when copying an OMI)** The name of the source Region (always the same as the Region of \n"
+ " your account).\n"
+"--VmId: string\n"
+ " **(when creating from a VM)** The ID of the VM from which you want to create the OMI.\n"
+,
+ "--DeleteOnVmDeletion: bool\n"
" If true, the fGPU is deleted when the VM is terminated.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Generation: string\n"
- " The processor generation that the fGPU must be compatible with. If not \n"
- " specified, the oldest possible processor generation is selected (as \n"
- " provided by [ReadFlexibleGpuCatalog](#readflexiblegpucatalog) for the \n"
- " specified model of fGPU).\n"
-"ModelName: string\n"
- " The model of fGPU you want to allocate. For more information, see \n"
- " [About Flexible \n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Generation: string\n"
+ " The processor generation that the fGPU must be compatible with. If not specified, the \n"
+ " oldest possible processor generation is selected (as provided by \n"
+ " [ReadFlexibleGpuCatalog](#readflexiblegpucatalog) for the specified model of fGPU).\n"
+"--ModelName: string\n"
+ " The model of fGPU you want to allocate. For more information, see [About Flexible \n"
" GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html).\n"
-"SubregionName: string\n"
+"--SubregionName: string\n"
" The Subregion in which you want to create the fGPU.\n"
,
- "DirectLinkId: string\n"
- " The ID of the existing DirectLink for which you want to create the \n"
- " DirectLink interface.\n"
-"DirectLinkInterface: ref DirectLinkInterface\n"
+ "--DirectLinkId: string\n"
+ " The ID of the existing DirectLink for which you want to create the DirectLink interface.\n"
+"--DirectLinkInterface: ref DirectLinkInterface\n"
" Information about the DirectLink interface.\n"
- " -BgpAsn: int\n"
- " The BGP (Border Gateway Protocol) ASN (Autonomous System \n"
- " Number) on the customer's side of the DirectLink interface. \n"
- " This number must be between `64512` and `65534`.\n"
- " -BgpKey: string\n"
+ " --DirectLinkInterface.BgpAsn: int\n"
+ " The BGP (Border Gateway Protocol) ASN (Autonomous System Number) on the \n"
+ " customer's side of the DirectLink interface. This number must be between \n"
+ " `64512` and `65534`.\n"
+ " --DirectLinkInterface.BgpKey: string\n"
" The BGP authentication key.\n"
- " -ClientPrivateIp: string\n"
+ " --DirectLinkInterface.ClientPrivateIp: string\n"
" The IP on the customer's side of the DirectLink interface.\n"
- " -DirectLinkInterfaceName: string\n"
+ " --DirectLinkInterface.DirectLinkInterfaceName: string\n"
" The name of the DirectLink interface.\n"
- " -OutscalePrivateIp: string\n"
+ " --DirectLinkInterface.OutscalePrivateIp: string\n"
" The IP on the OUTSCALE side of the DirectLink interface.\n"
- " -VirtualGatewayId: string\n"
+ " --DirectLinkInterface.VirtualGatewayId: string\n"
" The ID of the target virtual gateway.\n"
- " -Vlan: int\n"
- " The VLAN number associated with the DirectLink interface. This \n"
- " number must be unique and be between `2` and `4094`.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-,
- "Bandwidth: string\n"
+ " --DirectLinkInterface.Vlan: int\n"
+ " The VLAN number associated with the DirectLink interface. This number \n"
+ " must be unique and be between `2` and `4094`.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+,
+ "--Bandwidth: string\n"
" The bandwidth of the DirectLink (`1Gbps` \\| `10Gbps`).\n"
-"DirectLinkName: string\n"
+"--DirectLinkName: string\n"
" The name of the DirectLink.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Location: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Location: string\n"
" The code of the requested location for the DirectLink, returned by the \n"
" [ReadLocations](#readlocations) method.\n"
,
- "DomainName: string\n"
- " Specify a domain name (for example, `MyCompany.com`). You can specify \n"
- " only one domain name. You must specify at least one of the following \n"
- " parameters: `DomainName`, `DomainNameServers`, `LogServers`, or \n"
- " `NtpServers`.\n"
-"DomainNameServers: array string\n"
- " The IPs of domain name servers. If no IPs are specified, the \n"
- " `OutscaleProvidedDNS` value is set by default. You must specify at \n"
- " least one of the following parameters: `DomainName`, \n"
+ "--DomainName: string\n"
+ " Specify a domain name (for example, `MyCompany.com`). You can specify only one domain name. \n"
+ " You must specify at least one of the following parameters: `DomainName`, \n"
" `DomainNameServers`, `LogServers`, or `NtpServers`.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"LogServers: array string\n"
- " The IPs of the log servers. You must specify at least one of the \n"
- " following parameters: `DomainName`, `DomainNameServers`, `LogServers`, \n"
- " or `NtpServers`.\n"
-"NtpServers: array string\n"
- " The IPs of the Network Time Protocol (NTP) servers. You must specify at \n"
- " least one of the following parameters: `DomainName`, \n"
+"--DomainNameServers: array string\n"
+ " The IPs of domain name servers. If no IPs are specified, the `OutscaleProvidedDNS` value is \n"
+ " set by default. You must specify at least one of the following parameters: `DomainName`, \n"
" `DomainNameServers`, `LogServers`, or `NtpServers`.\n"
-,
- "CpuGeneration: int\n"
- " The processor generation for the VMs in the dedicated group (for \n"
- " example, `4`).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Name: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--LogServers: array string\n"
+ " The IPs of the log servers. You must specify at least one of the following parameters: \n"
+ " `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.\n"
+"--NtpServers: array string\n"
+ " The IPs of the Network Time Protocol (NTP) servers. You must specify at least one of the \n"
+ " following parameters: `DomainName`, `DomainNameServers`, `LogServers`, or `NtpServers`.\n"
+,
+ "--CpuGeneration: int\n"
+ " The processor generation for the VMs in the dedicated group (for example, `4`).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Name: string\n"
" A name for the dedicated group.\n"
-"SubregionName: string\n"
+"--SubregionName: string\n"
" The Subregion in which you want to create the dedicated group.\n"
,
- "BgpAsn: int\n"
- " The Autonomous System Number (ASN) used by the Border Gateway Protocol \n"
- " (BGP) to find the path to your client gateway through the Internet. \n"
- "
\nThis number must be between `1` and `4294967295`. If you do not \n"
- " have an ASN, you can choose one between 64512 and 65534, or between \n"
- " 4200000000 and 4294967294.\n"
-"ConnectionType: string\n"
- " The communication protocol used to establish tunnel with your client \n"
- " gateway (only `ipsec.1` is supported).\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"PublicIp: string\n"
+ "--BgpAsn: int\n"
+ " The Autonomous System Number (ASN) used by the Border Gateway Protocol (BGP) to find the \n"
+ " path to your client gateway through the Internet.
\nThis number must be between `1` \n"
+ " and `4294967295`. If you do not have an ASN, you can choose one between 64512 and 65534, or \n"
+ " between 4200000000 and 4294967294.\n"
+"--ConnectionType: string\n"
+ " The communication protocol used to establish tunnel with your client gateway (only \n"
+ " `ipsec.1` is supported).\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--PublicIp: string\n"
" The public fixed IPv4 address of your client gateway.\n"
,
- "CaPem: string\n"
- " The CA in PEM format.With OSC CLI, use the following syntax to make \n"
- " sure your CA file is correctly parsed: `--CaPem=\"$(cat \n"
- " FILENAME)\"`.\n"
-"Description: string\n"
+ "--CaPem: string\n"
+ " The CA in PEM format.With OSC CLI, use the following syntax to make sure your CA file is \n"
+ " correctly parsed: `--CaPem=\"$(cat FILENAME)\"`.\n"
+"--Description: string\n"
" The description of the CA.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
,
- "CaIds: array string\n"
+ "--CaIds: array string\n"
" One or more IDs of Client Certificate Authorities (CAs).\n"
-"Cns: array string\n"
- " One or more Client Certificate Common Names (CNs). If this parameter is \n"
- " specified, you must also specify the `CaIds` parameter.\n"
-"Description: string\n"
+"--Cns: array string\n"
+ " One or more Client Certificate Common Names (CNs). If this parameter is specified, you must \n"
+ " also specify the `CaIds` parameter.\n"
+"--Description: string\n"
" A description for the API access rule.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"IpRanges: array string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--IpRanges: array string\n"
" One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).\n"
,
- "AdditionalEmails: array string\n"
- " One or more additional email addresses for the account. These addresses \n"
- " are used for notifications only. If you already have a list of \n"
- " additional emails registered, you cannot add to it, only replace it. To \n"
- " remove all registered additional emails, specify an empty list.\n"
-"City: string\n"
+ "--AdditionalEmails: array string\n"
+ " One or more additional email addresses for the account. These addresses are used for \n"
+ " notifications only. If you already have a list of additional emails registered, you cannot \n"
+ " add to it, only replace it. To remove all registered additional emails, specify an empty \n"
+ " list.\n"
+"--City: string\n"
" The city of the account owner.\n"
-"CompanyName: string\n"
+"--CompanyName: string\n"
" The name of the company for the account.\n"
-"Country: string\n"
+"--Country: string\n"
" The country of the account owner.\n"
-"CustomerId: string\n"
+"--CustomerId: string\n"
" The ID of the customer. It must be 8 digits.\n"
-"DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Email: string\n"
- " The main email address for the account. This address is used for your \n"
- " credentials and notifications.\n"
-"FirstName: string\n"
+"--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Email: string\n"
+ " The main email address for the account. This address is used for your credentials and \n"
+ " notifications.\n"
+"--FirstName: string\n"
" The first name of the account owner.\n"
-"JobTitle: string\n"
+"--JobTitle: string\n"
" The job title of the account owner.\n"
-"LastName: string\n"
+"--LastName: string\n"
" The last name of the account owner.\n"
-"MobileNumber: string\n"
+"--MobileNumber: string\n"
" The mobile phone number of the account owner.\n"
-"PhoneNumber: string\n"
+"--PhoneNumber: string\n"
" The landline phone number of the account owner.\n"
-"StateProvince: string\n"
+"--StateProvince: string\n"
" The state/province of the account.\n"
-"VatNumber: string\n"
+"--VatNumber: string\n"
" The value added tax (VAT) number for the account.\n"
-"ZipCode: string\n"
+"--ZipCode: string\n"
" The ZIP code of the city.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"ExpirationDate: string\n"
- " The date and time, or the date, at which you want the access key to \n"
- " expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`, or \n"
- " `2020-06-14`). To remove an existing expiration date, use the method \n"
- " without specifying this parameter.\n"
-"UserName: string\n"
- " The name of the EIM user that owns the key to be created. If you do not \n"
- " specify a user name, this action creates an access key for the user who \n"
- " sends the request (which can be the root account).\n"
-,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"Login: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--ExpirationDate: string\n"
+ " The date and time, or the date, at which you want the access key to expire, in ISO 8601 \n"
+ " format (for example, `2020-06-14T00:00:00.000Z`, or `2020-06-14`). To remove an existing \n"
+ " expiration date, use the method without specifying this parameter.\n"
+"--UserName: string\n"
+ " The name of the EIM user that owns the key to be created. If you do not specify a user \n"
+ " name, this action creates an access key for the user who sends the request (which can be \n"
+ " the root account).\n"
+,
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--Login: string\n"
" The email address of the account.\n"
-"Password: string\n"
+"--Password: string\n"
" The password of the account.\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"UserGroupName: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--UserGroupName: string\n"
" The name of the group you want to add a user to.\n"
-"UserGroupPath: string\n"
+"--UserGroupPath: string\n"
" The path to the group. If not specified, it is set to a slash (`/`).\n"
-"UserName: string\n"
+"--UserName: string\n"
" The name of the user you want to add to the group.\n"
-"UserPath: string\n"
+"--UserPath: string\n"
" The path to the user. If not specified, it is set to a slash (`/`).\n"
,
- "DryRun: bool\n"
- " If true, checks whether you have the required permissions to perform \n"
- " the action.\n"
-"NetPeeringId: string\n"
+ "--DryRun: bool\n"
+ " If true, checks whether you have the required permissions to perform the action.\n"
+"--NetPeeringId: string\n"
" The ID of the Net peering you want to accept.\n"
,
NULL
@@ -5349,6 +4853,7 @@ static int accepter_net_setter(struct accepter_net *args, struct osc_str *data)
ARG_TO_JSON_STR("\"NetId\":", args->net_id);
ret += 1;
}
+
return !!ret;
}
static int access_key_setter(struct access_key *args, struct osc_str *data) {
@@ -5379,6 +4884,7 @@ static int access_key_setter(struct access_key *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int access_key_secret_key_setter(struct access_key_secret_key *args, struct osc_str *data) {
@@ -5414,6 +4920,7 @@ static int access_key_secret_key_setter(struct access_key_secret_key *args, stru
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int access_log_setter(struct access_log *args, struct osc_str *data) {
@@ -5437,6 +4944,7 @@ static int access_log_setter(struct access_log *args, struct osc_str *data) {
ARG_TO_JSON(PublicationInterval, int, args->publication_interval);
ret += 1;
}
+
return !!ret;
}
static int account_setter(struct account *args, struct osc_str *data) {
@@ -5528,6 +5036,7 @@ static int account_setter(struct account *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"ZipCode\":", args->zip_code);
ret += 1;
}
+
return !!ret;
}
static int api_access_policy_setter(struct api_access_policy *args, struct osc_str *data) {
@@ -5541,6 +5050,7 @@ static int api_access_policy_setter(struct api_access_policy *args, struct osc_s
ARG_TO_JSON(RequireTrustedEnv, bool, args->require_trusted_env);
ret += 1;
}
+
return !!ret;
}
static int api_access_rule_setter(struct api_access_rule *args, struct osc_str *data) {
@@ -5604,6 +5114,7 @@ static int api_access_rule_setter(struct api_access_rule *args, struct osc_str *
ARG_TO_JSON(IpRanges, string, args->ip_ranges_str);
ret += 1;
}
+
return !!ret;
}
static int application_sticky_cookie_policy_setter(struct application_sticky_cookie_policy *args, struct osc_str *data) {
@@ -5619,6 +5130,7 @@ static int application_sticky_cookie_policy_setter(struct application_sticky_coo
ARG_TO_JSON_STR("\"PolicyName\":", args->policy_name);
ret += 1;
}
+
return !!ret;
}
static int backend_vm_health_setter(struct backend_vm_health *args, struct osc_str *data) {
@@ -5644,6 +5156,7 @@ static int backend_vm_health_setter(struct backend_vm_health *args, struct osc_s
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int block_device_mapping_created_setter(struct block_device_mapping_created *args, struct osc_str *data) {
@@ -5664,6 +5177,7 @@ static int block_device_mapping_created_setter(struct block_device_mapping_creat
ARG_TO_JSON_STR("\"DeviceName\":", args->device_name);
ret += 1;
}
+
return !!ret;
}
static int block_device_mapping_image_setter(struct block_device_mapping_image *args, struct osc_str *data) {
@@ -5689,6 +5203,7 @@ static int block_device_mapping_image_setter(struct block_device_mapping_image *
ARG_TO_JSON_STR("\"VirtualDeviceName\":", args->virtual_device_name);
ret += 1;
}
+
return !!ret;
}
static int block_device_mapping_vm_creation_setter(struct block_device_mapping_vm_creation *args, struct osc_str *data) {
@@ -5719,6 +5234,7 @@ static int block_device_mapping_vm_creation_setter(struct block_device_mapping_v
ARG_TO_JSON_STR("\"VirtualDeviceName\":", args->virtual_device_name);
ret += 1;
}
+
return !!ret;
}
static int block_device_mapping_vm_update_setter(struct block_device_mapping_vm_update *args, struct osc_str *data) {
@@ -5749,6 +5265,7 @@ static int block_device_mapping_vm_update_setter(struct block_device_mapping_vm_
ARG_TO_JSON_STR("\"VirtualDeviceName\":", args->virtual_device_name);
ret += 1;
}
+
return !!ret;
}
static int bsu_created_setter(struct bsu_created *args, struct osc_str *data) {
@@ -5773,6 +5290,7 @@ static int bsu_created_setter(struct bsu_created *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VolumeId\":", args->volume_id);
ret += 1;
}
+
return !!ret;
}
static int bsu_to_create_setter(struct bsu_to_create *args, struct osc_str *data) {
@@ -5800,6 +5318,7 @@ static int bsu_to_create_setter(struct bsu_to_create *args, struct osc_str *data
ARG_TO_JSON_STR("\"VolumeType\":", args->volume_type);
ret += 1;
}
+
return !!ret;
}
static int bsu_to_update_vm_setter(struct bsu_to_update_vm *args, struct osc_str *data) {
@@ -5814,6 +5333,7 @@ static int bsu_to_update_vm_setter(struct bsu_to_update_vm *args, struct osc_str
ARG_TO_JSON_STR("\"VolumeId\":", args->volume_id);
ret += 1;
}
+
return !!ret;
}
static int ca_setter(struct ca *args, struct osc_str *data) {
@@ -5834,6 +5354,7 @@ static int ca_setter(struct ca *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Description\":", args->description);
ret += 1;
}
+
return !!ret;
}
static int catalog_setter(struct catalog *args, struct osc_str *data) {
@@ -5857,6 +5378,7 @@ static int catalog_setter(struct catalog *args, struct osc_str *data) {
ARG_TO_JSON(Entries, string, args->entries_str);
ret += 1;
}
+
return !!ret;
}
static int catalog_entry_setter(struct catalog_entry *args, struct osc_str *data) {
@@ -5901,6 +5423,7 @@ static int catalog_entry_setter(struct catalog_entry *args, struct osc_str *data
ARG_TO_JSON(UnitPrice, double, args->unit_price);
ret += 1;
}
+
return !!ret;
}
static int catalogs_setter(struct catalogs *args, struct osc_str *data) {
@@ -5939,6 +5462,7 @@ static int catalogs_setter(struct catalogs *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"ToDate\":", args->to_date);
ret += 1;
}
+
return !!ret;
}
static int client_gateway_setter(struct client_gateway *args, struct osc_str *data) {
@@ -5986,6 +5510,7 @@ static int client_gateway_setter(struct client_gateway *args, struct osc_str *da
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int consumption_entry_setter(struct consumption_entry *args, struct osc_str *data) {
@@ -6053,6 +5578,7 @@ static int consumption_entry_setter(struct consumption_entry *args, struct osc_s
ARG_TO_JSON(Value, double, args->value);
ret += 1;
}
+
return !!ret;
}
static int dedicated_group_setter(struct dedicated_group *args, struct osc_str *data) {
@@ -6114,6 +5640,7 @@ static int dedicated_group_setter(struct dedicated_group *args, struct osc_str *
ARG_TO_JSON(VmIds, string, args->vm_ids_str);
ret += 1;
}
+
return !!ret;
}
static int dhcp_options_set_setter(struct dhcp_options_set *args, struct osc_str *data) {
@@ -6199,6 +5726,7 @@ static int dhcp_options_set_setter(struct dhcp_options_set *args, struct osc_str
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int direct_link_setter(struct direct_link *args, struct osc_str *data) {
@@ -6239,6 +5767,7 @@ static int direct_link_setter(struct direct_link *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int direct_link_interface_setter(struct direct_link_interface *args, struct osc_str *data) {
@@ -6277,6 +5806,7 @@ static int direct_link_interface_setter(struct direct_link_interface *args, stru
ARG_TO_JSON(Vlan, int, args->vlan);
ret += 1;
}
+
return !!ret;
}
static int direct_link_interfaces_setter(struct direct_link_interfaces *args, struct osc_str *data) {
@@ -6349,6 +5879,7 @@ static int direct_link_interfaces_setter(struct direct_link_interfaces *args, st
ARG_TO_JSON(Vlan, int, args->vlan);
ret += 1;
}
+
return !!ret;
}
static int errors_setter(struct errors *args, struct osc_str *data) {
@@ -6369,6 +5900,7 @@ static int errors_setter(struct errors *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Type\":", args->type);
ret += 1;
}
+
return !!ret;
}
static int filters_access_keys_setter(struct filters_access_keys *args, struct osc_str *data) {
@@ -6406,6 +5938,7 @@ static int filters_access_keys_setter(struct filters_access_keys *args, struct o
ARG_TO_JSON(States, string, args->states_str);
ret += 1;
}
+
return !!ret;
}
static int filters_api_access_rule_setter(struct filters_api_access_rule *args, struct osc_str *data) {
@@ -6491,6 +6024,7 @@ static int filters_api_access_rule_setter(struct filters_api_access_rule *args,
ARG_TO_JSON(IpRanges, string, args->ip_ranges_str);
ret += 1;
}
+
return !!ret;
}
static int filters_api_log_setter(struct filters_api_log *args, struct osc_str *data) {
@@ -6618,6 +6152,7 @@ static int filters_api_log_setter(struct filters_api_log *args, struct osc_str *
ARG_TO_JSON(ResponseStatusCodes, string, args->response_status_codes_str);
ret += 1;
}
+
return !!ret;
}
static int filters_ca_setter(struct filters_ca *args, struct osc_str *data) {
@@ -6671,6 +6206,7 @@ static int filters_ca_setter(struct filters_ca *args, struct osc_str *data) {
ARG_TO_JSON(Descriptions, string, args->descriptions_str);
ret += 1;
}
+
return !!ret;
}
static int filters_catalogs_setter(struct filters_catalogs *args, struct osc_str *data) {
@@ -6690,6 +6226,7 @@ static int filters_catalogs_setter(struct filters_catalogs *args, struct osc_str
ARG_TO_JSON_STR("\"ToDate\":", args->to_date);
ret += 1;
}
+
return !!ret;
}
static int filters_client_gateway_setter(struct filters_client_gateway *args, struct osc_str *data) {
@@ -6823,6 +6360,7 @@ static int filters_client_gateway_setter(struct filters_client_gateway *args, st
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_dedicated_group_setter(struct filters_dedicated_group *args, struct osc_str *data) {
@@ -6892,6 +6430,7 @@ static int filters_dedicated_group_setter(struct filters_dedicated_group *args,
ARG_TO_JSON(SubregionNames, string, args->subregion_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_dhcp_options_setter(struct filters_dhcp_options *args, struct osc_str *data) {
@@ -7029,6 +6568,7 @@ static int filters_dhcp_options_setter(struct filters_dhcp_options *args, struct
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_direct_link_setter(struct filters_direct_link *args, struct osc_str *data) {
@@ -7050,6 +6590,7 @@ static int filters_direct_link_setter(struct filters_direct_link *args, struct o
ARG_TO_JSON(DirectLinkIds, string, args->direct_link_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_direct_link_interface_setter(struct filters_direct_link_interface *args, struct osc_str *data) {
@@ -7087,6 +6628,7 @@ static int filters_direct_link_interface_setter(struct filters_direct_link_inter
ARG_TO_JSON(DirectLinkInterfaceIds, string, args->direct_link_interface_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_export_task_setter(struct filters_export_task *args, struct osc_str *data) {
@@ -7108,6 +6650,7 @@ static int filters_export_task_setter(struct filters_export_task *args, struct o
ARG_TO_JSON(TaskIds, string, args->task_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_flexible_gpu_setter(struct filters_flexible_gpu *args, struct osc_str *data) {
@@ -7213,6 +6756,7 @@ static int filters_flexible_gpu_setter(struct filters_flexible_gpu *args, struct
ARG_TO_JSON(VmIds, string, args->vm_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_image_setter(struct filters_image *args, struct osc_str *data) {
@@ -7578,6 +7122,7 @@ static int filters_image_setter(struct filters_image *args, struct osc_str *data
ARG_TO_JSON(VirtualizationTypes, string, args->virtualization_types_str);
ret += 1;
}
+
return !!ret;
}
static int filters_internet_service_setter(struct filters_internet_service *args, struct osc_str *data) {
@@ -7679,6 +7224,7 @@ static int filters_internet_service_setter(struct filters_internet_service *args
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_keypair_setter(struct filters_keypair *args, struct osc_str *data) {
@@ -7732,6 +7278,7 @@ static int filters_keypair_setter(struct filters_keypair *args, struct osc_str *
ARG_TO_JSON(KeypairTypes, string, args->keypair_types_str);
ret += 1;
}
+
return !!ret;
}
static int filters_listener_rule_setter(struct filters_listener_rule *args, struct osc_str *data) {
@@ -7753,6 +7300,7 @@ static int filters_listener_rule_setter(struct filters_listener_rule *args, stru
ARG_TO_JSON(ListenerRuleNames, string, args->listener_rule_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_load_balancer_setter(struct filters_load_balancer *args, struct osc_str *data) {
@@ -7774,6 +7322,7 @@ static int filters_load_balancer_setter(struct filters_load_balancer *args, stru
ARG_TO_JSON(LoadBalancerNames, string, args->load_balancer_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_nat_service_setter(struct filters_nat_service *args, struct osc_str *data) {
@@ -7907,6 +7456,7 @@ static int filters_nat_service_setter(struct filters_nat_service *args, struct o
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_net_setter(struct filters_net *args, struct osc_str *data) {
@@ -8028,6 +7578,7 @@ static int filters_net_setter(struct filters_net *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_net_access_point_setter(struct filters_net_access_point *args, struct osc_str *data) {
@@ -8145,6 +7696,7 @@ static int filters_net_access_point_setter(struct filters_net_access_point *args
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_net_peering_setter(struct filters_net_peering *args, struct osc_str *data) {
@@ -8358,6 +7910,7 @@ static int filters_net_peering_setter(struct filters_net_peering *args, struct o
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_nic_setter(struct filters_nic *args, struct osc_str *data) {
@@ -8791,6 +8344,7 @@ static int filters_nic_setter(struct filters_nic *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_product_type_setter(struct filters_product_type *args, struct osc_str *data) {
@@ -8812,6 +8366,7 @@ static int filters_product_type_setter(struct filters_product_type *args, struct
ARG_TO_JSON(ProductTypeIds, string, args->product_type_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_public_ip_setter(struct filters_public_ip *args, struct osc_str *data) {
@@ -8993,6 +8548,7 @@ static int filters_public_ip_setter(struct filters_public_ip *args, struct osc_s
ARG_TO_JSON(VmIds, string, args->vm_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_quota_setter(struct filters_quota *args, struct osc_str *data) {
@@ -9062,6 +8618,7 @@ static int filters_quota_setter(struct filters_quota *args, struct osc_str *data
ARG_TO_JSON(ShortDescriptions, string, args->short_descriptions_str);
ret += 1;
}
+
return !!ret;
}
static int filters_route_table_setter(struct filters_route_table *args, struct osc_str *data) {
@@ -9327,6 +8884,7 @@ static int filters_route_table_setter(struct filters_route_table *args, struct o
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_security_group_setter(struct filters_security_group *args, struct osc_str *data) {
@@ -9668,6 +9226,7 @@ static int filters_security_group_setter(struct filters_security_group *args, st
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_server_certificate_setter(struct filters_server_certificate *args, struct osc_str *data) {
@@ -9689,6 +9248,7 @@ static int filters_server_certificate_setter(struct filters_server_certificate *
ARG_TO_JSON(Paths, string, args->paths_str);
ret += 1;
}
+
return !!ret;
}
static int filters_service_setter(struct filters_service *args, struct osc_str *data) {
@@ -9726,6 +9286,7 @@ static int filters_service_setter(struct filters_service *args, struct osc_str *
ARG_TO_JSON(ServiceNames, string, args->service_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_snapshot_setter(struct filters_snapshot *args, struct osc_str *data) {
@@ -9937,6 +9498,7 @@ static int filters_snapshot_setter(struct filters_snapshot *args, struct osc_str
ARG_TO_JSON(VolumeSizes, string, args->volume_sizes_str);
ret += 1;
}
+
return !!ret;
}
static int filters_subnet_setter(struct filters_subnet *args, struct osc_str *data) {
@@ -10086,6 +9648,7 @@ static int filters_subnet_setter(struct filters_subnet *args, struct osc_str *da
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int filters_subregion_setter(struct filters_subregion *args, struct osc_str *data) {
@@ -10139,6 +9702,7 @@ static int filters_subregion_setter(struct filters_subregion *args, struct osc_s
ARG_TO_JSON(SubregionNames, string, args->subregion_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_tag_setter(struct filters_tag *args, struct osc_str *data) {
@@ -10208,6 +9772,7 @@ static int filters_tag_setter(struct filters_tag *args, struct osc_str *data) {
ARG_TO_JSON(Values, string, args->values_str);
ret += 1;
}
+
return !!ret;
}
static int filters_user_group_setter(struct filters_user_group *args, struct osc_str *data) {
@@ -10234,6 +9799,7 @@ static int filters_user_group_setter(struct filters_user_group *args, struct osc
ARG_TO_JSON(UserGroupIds, string, args->user_group_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_virtual_gateway_setter(struct filters_virtual_gateway *args, struct osc_str *data) {
@@ -10367,6 +9933,7 @@ static int filters_virtual_gateway_setter(struct filters_virtual_gateway *args,
ARG_TO_JSON(VirtualGatewayIds, string, args->virtual_gateway_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vm_setter(struct filters_vm *args, struct osc_str *data) {
@@ -11336,6 +10903,7 @@ static int filters_vm_setter(struct filters_vm *args, struct osc_str *data) {
ARG_TO_JSON(VmTypes, string, args->vm_types_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vm_group_setter(struct filters_vm_group *args, struct osc_str *data) {
@@ -11501,6 +11069,7 @@ static int filters_vm_group_setter(struct filters_vm_group *args, struct osc_str
ARG_TO_JSON(VmTemplateIds, string, args->vm_template_ids_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vm_template_setter(struct filters_vm_template *args, struct osc_str *data) {
@@ -11698,6 +11267,7 @@ static int filters_vm_template_setter(struct filters_vm_template *args, struct o
ARG_TO_JSON(VmTemplateNames, string, args->vm_template_names_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vm_type_setter(struct filters_vm_type *args, struct osc_str *data) {
@@ -11835,6 +11405,7 @@ static int filters_vm_type_setter(struct filters_vm_type *args, struct osc_str *
ARG_TO_JSON(VolumeSizes, string, args->volume_sizes_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vms_state_setter(struct filters_vms_state *args, struct osc_str *data) {
@@ -11952,6 +11523,7 @@ static int filters_vms_state_setter(struct filters_vms_state *args, struct osc_s
ARG_TO_JSON(VmStates, string, args->vm_states_str);
ret += 1;
}
+
return !!ret;
}
static int filters_volume_setter(struct filters_volume *args, struct osc_str *data) {
@@ -12185,6 +11757,7 @@ static int filters_volume_setter(struct filters_volume *args, struct osc_str *da
ARG_TO_JSON(VolumeTypes, string, args->volume_types_str);
ret += 1;
}
+
return !!ret;
}
static int filters_vpn_connection_setter(struct filters_vpn_connection *args, struct osc_str *data) {
@@ -12354,6 +11927,7 @@ static int filters_vpn_connection_setter(struct filters_vpn_connection *args, st
ARG_TO_JSON(VpnConnectionIds, string, args->vpn_connection_ids_str);
ret += 1;
}
+
return !!ret;
}
static int flexible_gpu_setter(struct flexible_gpu *args, struct osc_str *data) {
@@ -12393,6 +11967,7 @@ static int flexible_gpu_setter(struct flexible_gpu *args, struct osc_str *data)
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int flexible_gpu_catalog_setter(struct flexible_gpu_catalog *args, struct osc_str *data) {
@@ -12431,6 +12006,7 @@ static int flexible_gpu_catalog_setter(struct flexible_gpu_catalog *args, struct
ARG_TO_JSON(VRam, int, args->vram);
ret += 1;
}
+
return !!ret;
}
static int health_check_setter(struct health_check *args, struct osc_str *data) {
@@ -12466,6 +12042,7 @@ static int health_check_setter(struct health_check *args, struct osc_str *data)
ARG_TO_JSON(UnhealthyThreshold, int, args->unhealthy_threshold);
ret += 1;
}
+
return !!ret;
}
static int image_setter(struct image *args, struct osc_str *data) {
@@ -12603,6 +12180,7 @@ static int image_setter(struct image *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int image_export_task_setter(struct image_export_task *args, struct osc_str *data) {
@@ -12660,6 +12238,7 @@ static int image_export_task_setter(struct image_export_task *args, struct osc_s
ARG_TO_JSON_STR("\"TaskId\":", args->task_id);
ret += 1;
}
+
return !!ret;
}
static int inline_policy_setter(struct inline_policy *args, struct osc_str *data) {
@@ -12675,6 +12254,7 @@ static int inline_policy_setter(struct inline_policy *args, struct osc_str *data
ARG_TO_JSON_STR("\"Name\":", args->name);
ret += 1;
}
+
return !!ret;
}
static int internet_service_setter(struct internet_service *args, struct osc_str *data) {
@@ -12713,6 +12293,7 @@ static int internet_service_setter(struct internet_service *args, struct osc_str
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int keypair_setter(struct keypair *args, struct osc_str *data) {
@@ -12733,6 +12314,7 @@ static int keypair_setter(struct keypair *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"KeypairType\":", args->keypair_type);
ret += 1;
}
+
return !!ret;
}
static int keypair_created_setter(struct keypair_created *args, struct osc_str *data) {
@@ -12758,6 +12340,7 @@ static int keypair_created_setter(struct keypair_created *args, struct osc_str *
ARG_TO_JSON_STR("\"PrivateKey\":", args->private_key);
ret += 1;
}
+
return !!ret;
}
static int link_nic_setter(struct link_nic *args, struct osc_str *data) {
@@ -12791,6 +12374,7 @@ static int link_nic_setter(struct link_nic *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int link_nic_light_setter(struct link_nic_light *args, struct osc_str *data) {
@@ -12814,6 +12398,7 @@ static int link_nic_light_setter(struct link_nic_light *args, struct osc_str *da
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int link_nic_to_update_setter(struct link_nic_to_update *args, struct osc_str *data) {
@@ -12828,6 +12413,7 @@ static int link_nic_to_update_setter(struct link_nic_to_update *args, struct osc
ARG_TO_JSON_STR("\"LinkNicId\":", args->link_nic_id);
ret += 1;
}
+
return !!ret;
}
static int link_public_ip_setter(struct link_public_ip *args, struct osc_str *data) {
@@ -12858,6 +12444,7 @@ static int link_public_ip_setter(struct link_public_ip *args, struct osc_str *da
ARG_TO_JSON_STR("\"PublicIpId\":", args->public_ip_id);
ret += 1;
}
+
return !!ret;
}
static int link_public_ip_light_for_vm_setter(struct link_public_ip_light_for_vm *args, struct osc_str *data) {
@@ -12878,6 +12465,7 @@ static int link_public_ip_light_for_vm_setter(struct link_public_ip_light_for_vm
ARG_TO_JSON_STR("\"PublicIpAccountId\":", args->public_ip_account_id);
ret += 1;
}
+
return !!ret;
}
static int link_route_table_setter(struct link_route_table *args, struct osc_str *data) {
@@ -12907,6 +12495,7 @@ static int link_route_table_setter(struct link_route_table *args, struct osc_str
ARG_TO_JSON_STR("\"SubnetId\":", args->subnet_id);
ret += 1;
}
+
return !!ret;
}
static int linked_policy_setter(struct linked_policy *args, struct osc_str *data) {
@@ -12937,6 +12526,7 @@ static int linked_policy_setter(struct linked_policy *args, struct osc_str *data
ARG_TO_JSON_STR("\"PolicyName\":", args->policy_name);
ret += 1;
}
+
return !!ret;
}
static int linked_volume_setter(struct linked_volume *args, struct osc_str *data) {
@@ -12966,6 +12556,7 @@ static int linked_volume_setter(struct linked_volume *args, struct osc_str *data
ARG_TO_JSON_STR("\"VolumeId\":", args->volume_id);
ret += 1;
}
+
return !!ret;
}
static int listener_setter(struct listener *args, struct osc_str *data) {
@@ -13010,6 +12601,7 @@ static int listener_setter(struct listener *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"ServerCertificateId\":", args->server_certificate_id);
ret += 1;
}
+
return !!ret;
}
static int listener_for_creation_setter(struct listener_for_creation *args, struct osc_str *data) {
@@ -13038,6 +12630,7 @@ static int listener_for_creation_setter(struct listener_for_creation *args, stru
ARG_TO_JSON_STR("\"ServerCertificateId\":", args->server_certificate_id);
ret += 1;
}
+
return !!ret;
}
static int listener_rule_setter(struct listener_rule *args, struct osc_str *data) {
@@ -13091,6 +12684,7 @@ static int listener_rule_setter(struct listener_rule *args, struct osc_str *data
ARG_TO_JSON(VmIds, string, args->vm_ids_str);
ret += 1;
}
+
return !!ret;
}
static int listener_rule_for_creation_setter(struct listener_rule_for_creation *args, struct osc_str *data) {
@@ -13120,6 +12714,7 @@ static int listener_rule_for_creation_setter(struct listener_rule_for_creation *
ARG_TO_JSON(Priority, int, args->priority);
ret += 1;
}
+
return !!ret;
}
static int load_balancer_setter(struct load_balancer *args, struct osc_str *data) {
@@ -13336,6 +12931,7 @@ static int load_balancer_setter(struct load_balancer *args, struct osc_str *data
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int load_balancer_light_setter(struct load_balancer_light *args, struct osc_str *data) {
@@ -13350,6 +12946,7 @@ static int load_balancer_light_setter(struct load_balancer_light *args, struct o
ARG_TO_JSON(LoadBalancerPort, int, args->load_balancer_port);
ret += 1;
}
+
return !!ret;
}
static int load_balancer_sticky_cookie_policy_setter(struct load_balancer_sticky_cookie_policy *args, struct osc_str *data) {
@@ -13364,6 +12961,7 @@ static int load_balancer_sticky_cookie_policy_setter(struct load_balancer_sticky
ARG_TO_JSON_STR("\"PolicyName\":", args->policy_name);
ret += 1;
}
+
return !!ret;
}
static int load_balancer_tag_setter(struct load_balancer_tag *args, struct osc_str *data) {
@@ -13384,6 +12982,7 @@ static int load_balancer_tag_setter(struct load_balancer_tag *args, struct osc_s
ARG_TO_JSON_STR("\"Value\":", args->value);
ret += 1;
}
+
return !!ret;
}
static int location_setter(struct location *args, struct osc_str *data) {
@@ -13399,6 +12998,7 @@ static int location_setter(struct location *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Name\":", args->name);
ret += 1;
}
+
return !!ret;
}
static int log_setter(struct log *args, struct osc_str *data) {
@@ -13479,6 +13079,7 @@ static int log_setter(struct log *args, struct osc_str *data) {
ARG_TO_JSON(ResponseStatusCode, int, args->response_status_code);
ret += 1;
}
+
return !!ret;
}
static int maintenance_event_setter(struct maintenance_event *args, struct osc_str *data) {
@@ -13504,6 +13105,7 @@ static int maintenance_event_setter(struct maintenance_event *args, struct osc_s
ARG_TO_JSON_STR("\"NotBefore\":", args->not_before);
ret += 1;
}
+
return !!ret;
}
static int nat_service_setter(struct nat_service *args, struct osc_str *data) {
@@ -13570,6 +13172,7 @@ static int nat_service_setter(struct nat_service *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int net_setter(struct net *args, struct osc_str *data) {
@@ -13618,6 +13221,7 @@ static int net_setter(struct net *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Tenancy\":", args->tenancy);
ret += 1;
}
+
return !!ret;
}
static int net_access_point_setter(struct net_access_point *args, struct osc_str *data) {
@@ -13677,6 +13281,7 @@ static int net_access_point_setter(struct net_access_point *args, struct osc_str
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int net_peering_setter(struct net_peering *args, struct osc_str *data) {
@@ -13740,6 +13345,7 @@ static int net_peering_setter(struct net_peering *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int net_peering_state_setter(struct net_peering_state *args, struct osc_str *data) {
@@ -13755,6 +13361,7 @@ static int net_peering_state_setter(struct net_peering_state *args, struct osc_s
ARG_TO_JSON_STR("\"Name\":", args->name);
ret += 1;
}
+
return !!ret;
}
static int net_to_virtual_gateway_link_setter(struct net_to_virtual_gateway_link *args, struct osc_str *data) {
@@ -13770,6 +13377,7 @@ static int net_to_virtual_gateway_link_setter(struct net_to_virtual_gateway_link
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int nic_setter(struct nic *args, struct osc_str *data) {
@@ -13898,6 +13506,7 @@ static int nic_setter(struct nic *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int nic_for_vm_creation_setter(struct nic_for_vm_creation *args, struct osc_str *data) {
@@ -13964,6 +13573,7 @@ static int nic_for_vm_creation_setter(struct nic_for_vm_creation *args, struct o
ARG_TO_JSON_STR("\"SubnetId\":", args->subnet_id);
ret += 1;
}
+
return !!ret;
}
static int nic_light_setter(struct nic_light *args, struct osc_str *data) {
@@ -14069,6 +13679,7 @@ static int nic_light_setter(struct nic_light *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"SubnetId\":", args->subnet_id);
ret += 1;
}
+
return !!ret;
}
static int osu_api_key_setter(struct osu_api_key *args, struct osc_str *data) {
@@ -14084,6 +13695,7 @@ static int osu_api_key_setter(struct osu_api_key *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"SecretKey\":", args->secret_key);
ret += 1;
}
+
return !!ret;
}
static int osu_export_image_export_task_setter(struct osu_export_image_export_task *args, struct osc_str *data) {
@@ -14109,6 +13721,7 @@ static int osu_export_image_export_task_setter(struct osu_export_image_export_ta
ARG_TO_JSON_STR("\"OsuPrefix\":", args->osu_prefix);
ret += 1;
}
+
return !!ret;
}
static int osu_export_snapshot_export_task_setter(struct osu_export_snapshot_export_task *args, struct osc_str *data) {
@@ -14129,6 +13742,7 @@ static int osu_export_snapshot_export_task_setter(struct osu_export_snapshot_exp
ARG_TO_JSON_STR("\"OsuPrefix\":", args->osu_prefix);
ret += 1;
}
+
return !!ret;
}
static int osu_export_to_create_setter(struct osu_export_to_create *args, struct osc_str *data) {
@@ -14164,6 +13778,7 @@ static int osu_export_to_create_setter(struct osu_export_to_create *args, struct
ARG_TO_JSON_STR("\"OsuPrefix\":", args->osu_prefix);
ret += 1;
}
+
return !!ret;
}
static int permissions_on_resource_setter(struct permissions_on_resource *args, struct osc_str *data) {
@@ -14189,6 +13804,7 @@ static int permissions_on_resource_setter(struct permissions_on_resource *args,
ARG_TO_JSON(GlobalPermission, bool, args->global_permission);
ret += 1;
}
+
return !!ret;
}
static int permissions_on_resource_creation_setter(struct permissions_on_resource_creation *args, struct osc_str *data) {
@@ -14214,6 +13830,7 @@ static int permissions_on_resource_creation_setter(struct permissions_on_resourc
STRY(osc_str_append_string(data, "}" ));
ret += 1;
}
+
return !!ret;
}
static int phase1_options_setter(struct phase1_options *args, struct osc_str *data) {
@@ -14305,6 +13922,7 @@ static int phase1_options_setter(struct phase1_options *args, struct osc_str *da
ARG_TO_JSON_STR("\"StartupAction\":", args->startup_action);
ret += 1;
}
+
return !!ret;
}
static int phase2_options_setter(struct phase2_options *args, struct osc_str *data) {
@@ -14367,6 +13985,7 @@ static int phase2_options_setter(struct phase2_options *args, struct osc_str *da
ARG_TO_JSON_STR("\"PreSharedKey\":", args->pre_shared_key);
ret += 1;
}
+
return !!ret;
}
static int placement_setter(struct placement *args, struct osc_str *data) {
@@ -14382,6 +14001,7 @@ static int placement_setter(struct placement *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Tenancy\":", args->tenancy);
ret += 1;
}
+
return !!ret;
}
static int policy_setter(struct policy *args, struct osc_str *data) {
@@ -14435,6 +14055,7 @@ static int policy_setter(struct policy *args, struct osc_str *data) {
ARG_TO_JSON(ResourcesCount, int, args->resources_count);
ret += 1;
}
+
return !!ret;
}
static int policy_version_setter(struct policy_version *args, struct osc_str *data) {
@@ -14459,6 +14080,7 @@ static int policy_version_setter(struct policy_version *args, struct osc_str *da
ARG_TO_JSON_STR("\"VersionId\":", args->version_id);
ret += 1;
}
+
return !!ret;
}
static int private_ip_setter(struct private_ip *args, struct osc_str *data) {
@@ -14488,6 +14110,7 @@ static int private_ip_setter(struct private_ip *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"PrivateIp\":", args->private_ip);
ret += 1;
}
+
return !!ret;
}
static int private_ip_light_setter(struct private_ip_light *args, struct osc_str *data) {
@@ -14502,6 +14125,7 @@ static int private_ip_light_setter(struct private_ip_light *args, struct osc_str
ARG_TO_JSON_STR("\"PrivateIp\":", args->private_ip);
ret += 1;
}
+
return !!ret;
}
static int private_ip_light_for_vm_setter(struct private_ip_light_for_vm *args, struct osc_str *data) {
@@ -14531,6 +14155,7 @@ static int private_ip_light_for_vm_setter(struct private_ip_light_for_vm *args,
ARG_TO_JSON_STR("\"PrivateIp\":", args->private_ip);
ret += 1;
}
+
return !!ret;
}
static int product_type_setter(struct product_type *args, struct osc_str *data) {
@@ -14551,6 +14176,7 @@ static int product_type_setter(struct product_type *args, struct osc_str *data)
ARG_TO_JSON_STR("\"Vendor\":", args->vendor);
ret += 1;
}
+
return !!ret;
}
static int public_ip_setter(struct public_ip *args, struct osc_str *data) {
@@ -14609,6 +14235,7 @@ static int public_ip_setter(struct public_ip *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int public_ip_light_setter(struct public_ip_light *args, struct osc_str *data) {
@@ -14624,6 +14251,7 @@ static int public_ip_light_setter(struct public_ip_light *args, struct osc_str *
ARG_TO_JSON_STR("\"PublicIpId\":", args->public_ip_id);
ret += 1;
}
+
return !!ret;
}
static int quota_setter(struct quota *args, struct osc_str *data) {
@@ -14662,6 +14290,7 @@ static int quota_setter(struct quota *args, struct osc_str *data) {
ARG_TO_JSON(UsedValue, int, args->used_value);
ret += 1;
}
+
return !!ret;
}
static int quota_types_setter(struct quota_types *args, struct osc_str *data) {
@@ -14690,6 +14319,7 @@ static int quota_types_setter(struct quota_types *args, struct osc_str *data) {
ARG_TO_JSON(Quotas, string, args->quotas_str);
ret += 1;
}
+
return !!ret;
}
static int read_linked_policies_filters_setter(struct read_linked_policies_filters *args, struct osc_str *data) {
@@ -14700,6 +14330,7 @@ static int read_linked_policies_filters_setter(struct read_linked_policies_filte
ARG_TO_JSON_STR("\"PathPrefix\":", args->path_prefix);
ret += 1;
}
+
return !!ret;
}
static int read_policies_filters_setter(struct read_policies_filters *args, struct osc_str *data) {
@@ -14719,6 +14350,7 @@ static int read_policies_filters_setter(struct read_policies_filters *args, stru
ARG_TO_JSON_STR("\"Scope\":", args->scope);
ret += 1;
}
+
return !!ret;
}
static int region_setter(struct region *args, struct osc_str *data) {
@@ -14734,6 +14366,7 @@ static int region_setter(struct region *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"RegionName\":", args->region_name);
ret += 1;
}
+
return !!ret;
}
static int resource_load_balancer_tag_setter(struct resource_load_balancer_tag *args, struct osc_str *data) {
@@ -14744,6 +14377,7 @@ static int resource_load_balancer_tag_setter(struct resource_load_balancer_tag *
ARG_TO_JSON_STR("\"Key\":", args->key);
ret += 1;
}
+
return !!ret;
}
static int resource_tag_setter(struct resource_tag *args, struct osc_str *data) {
@@ -14759,6 +14393,7 @@ static int resource_tag_setter(struct resource_tag *args, struct osc_str *data)
ARG_TO_JSON_STR("\"Value\":", args->value);
ret += 1;
}
+
return !!ret;
}
static int route_setter(struct route *args, struct osc_str *data) {
@@ -14819,6 +14454,7 @@ static int route_setter(struct route *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int route_light_setter(struct route_light *args, struct osc_str *data) {
@@ -14839,6 +14475,7 @@ static int route_light_setter(struct route_light *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"State\":", args->state);
ret += 1;
}
+
return !!ret;
}
static int route_propagating_virtual_gateway_setter(struct route_propagating_virtual_gateway *args, struct osc_str *data) {
@@ -14849,6 +14486,7 @@ static int route_propagating_virtual_gateway_setter(struct route_propagating_vir
ARG_TO_JSON_STR("\"VirtualGatewayId\":", args->virtual_gateway_id);
ret += 1;
}
+
return !!ret;
}
static int route_table_setter(struct route_table *args, struct osc_str *data) {
@@ -14936,6 +14574,7 @@ static int route_table_setter(struct route_table *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int security_group_setter(struct security_group *args, struct osc_str *data) {
@@ -15020,6 +14659,7 @@ static int security_group_setter(struct security_group *args, struct osc_str *da
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int security_group_light_setter(struct security_group_light *args, struct osc_str *data) {
@@ -15035,6 +14675,7 @@ static int security_group_light_setter(struct security_group_light *args, struct
ARG_TO_JSON_STR("\"SecurityGroupName\":", args->security_group_name);
ret += 1;
}
+
return !!ret;
}
static int security_group_rule_setter(struct security_group_rule *args, struct osc_str *data) {
@@ -15103,6 +14744,7 @@ static int security_group_rule_setter(struct security_group_rule *args, struct o
ARG_TO_JSON(ToPortRange, int, args->to_port_range);
ret += 1;
}
+
return !!ret;
}
static int security_groups_member_setter(struct security_groups_member *args, struct osc_str *data) {
@@ -15123,6 +14765,7 @@ static int security_groups_member_setter(struct security_groups_member *args, st
ARG_TO_JSON_STR("\"SecurityGroupName\":", args->security_group_name);
ret += 1;
}
+
return !!ret;
}
static int server_certificate_setter(struct server_certificate *args, struct osc_str *data) {
@@ -15158,6 +14801,7 @@ static int server_certificate_setter(struct server_certificate *args, struct osc
ARG_TO_JSON_STR("\"UploadDate\":", args->upload_date);
ret += 1;
}
+
return !!ret;
}
static int service_setter(struct service *args, struct osc_str *data) {
@@ -15189,6 +14833,7 @@ static int service_setter(struct service *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"ServiceName\":", args->service_name);
ret += 1;
}
+
return !!ret;
}
static int snapshot_setter(struct snapshot *args, struct osc_str *data) {
@@ -15265,6 +14910,7 @@ static int snapshot_setter(struct snapshot *args, struct osc_str *data) {
ARG_TO_JSON(VolumeSize, int, args->volume_size);
ret += 1;
}
+
return !!ret;
}
static int snapshot_export_task_setter(struct snapshot_export_task *args, struct osc_str *data) {
@@ -15322,6 +14968,7 @@ static int snapshot_export_task_setter(struct snapshot_export_task *args, struct
ARG_TO_JSON_STR("\"TaskId\":", args->task_id);
ret += 1;
}
+
return !!ret;
}
static int source_net_setter(struct source_net *args, struct osc_str *data) {
@@ -15342,6 +14989,7 @@ static int source_net_setter(struct source_net *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"NetId\":", args->net_id);
ret += 1;
}
+
return !!ret;
}
static int source_security_group_setter(struct source_security_group *args, struct osc_str *data) {
@@ -15357,6 +15005,7 @@ static int source_security_group_setter(struct source_security_group *args, stru
ARG_TO_JSON_STR("\"SecurityGroupName\":", args->security_group_name);
ret += 1;
}
+
return !!ret;
}
static int state_comment_setter(struct state_comment *args, struct osc_str *data) {
@@ -15372,6 +15021,7 @@ static int state_comment_setter(struct state_comment *args, struct osc_str *data
ARG_TO_JSON_STR("\"StateMessage\":", args->state_message);
ret += 1;
}
+
return !!ret;
}
static int subnet_setter(struct subnet *args, struct osc_str *data) {
@@ -15428,6 +15078,7 @@ static int subnet_setter(struct subnet *args, struct osc_str *data) {
ARG_TO_JSON(Tags, string, args->tags_str);
ret += 1;
}
+
return !!ret;
}
static int subregion_setter(struct subregion *args, struct osc_str *data) {
@@ -15453,6 +15104,7 @@ static int subregion_setter(struct subregion *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"SubregionName\":", args->subregion_name);
ret += 1;
}
+
return !!ret;
}
static int tag_setter(struct tag *args, struct osc_str *data) {
@@ -15478,6 +15130,7 @@ static int tag_setter(struct tag *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"Value\":", args->value);
ret += 1;
}
+
return !!ret;
}
static int user_setter(struct user *args, struct osc_str *data) {
@@ -15508,6 +15161,7 @@ static int user_setter(struct user *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"UserName\":", args->user_name);
ret += 1;
}
+
return !!ret;
}
static int user_group_setter(struct user_group *args, struct osc_str *data) {
@@ -15543,6 +15197,7 @@ static int user_group_setter(struct user_group *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"UserGroupId\":", args->user_group_id);
ret += 1;
}
+
return !!ret;
}
static int vgw_telemetry_setter(struct vgw_telemetry *args, struct osc_str *data) {
@@ -15572,6 +15227,7 @@ static int vgw_telemetry_setter(struct vgw_telemetry *args, struct osc_str *data
ARG_TO_JSON_STR("\"StateDescription\":", args->state_description);
ret += 1;
}
+
return !!ret;
}
static int virtual_gateway_setter(struct virtual_gateway *args, struct osc_str *data) {
@@ -15628,6 +15284,7 @@ static int virtual_gateway_setter(struct virtual_gateway *args, struct osc_str *
ARG_TO_JSON_STR("\"VirtualGatewayId\":", args->virtual_gateway_id);
ret += 1;
}
+
return !!ret;
}
static int vm_setter(struct vm *args, struct osc_str *data) {
@@ -15866,6 +15523,7 @@ static int vm_setter(struct vm *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmType\":", args->vm_type);
ret += 1;
}
+
return !!ret;
}
static int vm_group_setter(struct vm_group *args, struct osc_str *data) {
@@ -15965,6 +15623,7 @@ static int vm_group_setter(struct vm_group *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmTemplateId\":", args->vm_template_id);
ret += 1;
}
+
return !!ret;
}
static int vm_state_setter(struct vm_state *args, struct osc_str *data) {
@@ -15985,6 +15644,7 @@ static int vm_state_setter(struct vm_state *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmId\":", args->vm_id);
ret += 1;
}
+
return !!ret;
}
static int vm_states_setter(struct vm_states *args, struct osc_str *data) {
@@ -16023,6 +15683,7 @@ static int vm_states_setter(struct vm_states *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmState\":", args->vm_state);
ret += 1;
}
+
return !!ret;
}
static int vm_template_setter(struct vm_template *args, struct osc_str *data) {
@@ -16094,6 +15755,7 @@ static int vm_template_setter(struct vm_template *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VmTemplateName\":", args->vm_template_name);
ret += 1;
}
+
return !!ret;
}
static int vm_type_setter(struct vm_type *args, struct osc_str *data) {
@@ -16141,6 +15803,7 @@ static int vm_type_setter(struct vm_type *args, struct osc_str *data) {
ARG_TO_JSON(VolumeSize, int, args->volume_size);
ret += 1;
}
+
return !!ret;
}
static int volume_setter(struct volume *args, struct osc_str *data) {
@@ -16220,6 +15883,7 @@ static int volume_setter(struct volume *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"VolumeType\":", args->volume_type);
ret += 1;
}
+
return !!ret;
}
static int vpn_connection_setter(struct vpn_connection *args, struct osc_str *data) {
@@ -16323,6 +15987,7 @@ static int vpn_connection_setter(struct vpn_connection *args, struct osc_str *da
STRY(osc_str_append_string(data, "}" ));
ret += 1;
}
+
return !!ret;
}
static int vpn_options_setter(struct vpn_options *args, struct osc_str *data) {
@@ -16353,6 +16018,7 @@ static int vpn_options_setter(struct vpn_options *args, struct osc_str *data) {
ARG_TO_JSON_STR("\"TunnelInsideIpRange\":", args->tunnel_inside_ip_range);
ret += 1;
}
+
return !!ret;
}
static int with_setter(struct with *args, struct osc_str *data) {
@@ -16422,6 +16088,7 @@ static int with_setter(struct with *args, struct osc_str *data) {
ARG_TO_JSON(ResponseStatusCode, bool, args->response_status_code);
ret += 1;
}
+
return !!ret;
}
diff --git a/osc_sdk.h b/osc_sdk.h
index 7c44d0f..19da5dd 100644
--- a/osc_sdk.h
+++ b/osc_sdk.h
@@ -131,68 +131,68 @@ struct accepter_net {
/*
* The account ID of the owner of the accepter Net.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The IP range for the accepter Net, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* The ID of the accepter Net.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct access_key {
/*
* The ID of the access key.
*/
- char *access_key_id; /* string */
+ char *access_key_id;
/*
* The date and time (UTC) of creation of the access key.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The date (UTC) at which the access key expires.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The date and time (UTC) of the last modification of the access key.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The state of the access key (`ACTIVE` if the key is valid for API
* calls, or `INACTIVE` if not).
*/
- char *state; /* string */
+ char *state;
};
struct access_key_secret_key {
/*
* The ID of the access key.
*/
- char *access_key_id; /* string */
+ char *access_key_id;
/*
* The date and time (UTC) of creation of the access key.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The date and time (UTC) at which the access key expires.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The date and time (UTC) of the last modification of the access key.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The access key that enables you to send requests.
*/
- char *secret_key; /* string */
+ char *secret_key;
/*
* The state of the access key (`ACTIVE` if the key is valid for API
* calls, or `INACTIVE` if not).
*/
- char *state; /* string */
+ char *state;
};
struct access_log {
@@ -202,89 +202,89 @@ struct access_log {
* `OsuBucketName` parameter is required.
*/
int is_set_is_enabled;
- int is_enabled; /* bool */
+ int is_enabled;
/*
* The name of the OOS bucket for the access logs.
*/
- char *osu_bucket_name; /* string */
+ char *osu_bucket_name;
/*
* The path to the folder of the access logs in your OOS bucket (by
* default, the `root` level of your bucket).
*/
- char *osu_bucket_prefix; /* string */
+ char *osu_bucket_prefix;
/*
* The time interval for the publication of access logs in the OOS
* bucket, in minutes. This value can be either `5` or `60` (by default,
* `60`).
*/
int is_set_publication_interval;
- int publication_interval; /* int */
+ int publication_interval;
};
struct account {
/*
* The ID of the account.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* One or more additional email addresses for the account. These
* addresses are used for notifications only.
*/
char *additional_emails_str;
- char **additional_emails; /* array string */
+ char **additional_emails;
/*
* The city of the account owner.
*/
- char *city; /* string */
+ char *city;
/*
* The name of the company for the account.
*/
- char *company_name; /* string */
+ char *company_name;
/*
* The country of the account owner.
*/
- char *country; /* string */
+ char *country;
/*
* The ID of the customer.
*/
- char *customer_id; /* string */
+ char *customer_id;
/*
* The main email address for the account. This address is used for your
* credentials and for notifications.
*/
- char *email; /* string */
+ char *email;
/*
* The first name of the account owner.
*/
- char *first_name; /* string */
+ char *first_name;
/*
* The job title of the account owner.
*/
- char *job_title; /* string */
+ char *job_title;
/*
* The last name of the account owner.
*/
- char *last_name; /* string */
+ char *last_name;
/*
* The mobile phone number of the account owner.
*/
- char *mobile_number; /* string */
+ char *mobile_number;
/*
* The landline phone number of the account owner.
*/
- char *phone_number; /* string */
+ char *phone_number;
/*
* The state/province of the account.
*/
- char *state_province; /* string */
+ char *state_province;
/*
* The value added tax (VAT) number for the account.
*/
- char *vat_number; /* string */
+ char *vat_number;
/*
* The ZIP code of the city.
*/
- char *zip_code; /* string */
+ char *zip_code;
};
struct api_access_policy {
@@ -293,7 +293,7 @@ struct api_access_policy {
* `0`, your access keys can have unlimited lifetimes.
*/
int is_set_max_access_key_expiration_seconds;
- int max_access_key_expiration_seconds; /* int */
+ int max_access_key_expiration_seconds;
/*
* If true, a trusted session is activated, allowing you to bypass
* Certificate Authorities (CAs) enforcement. For more information, see
@@ -307,69 +307,69 @@ struct api_access_policy {
* ation.html#_multi_factor_authentication).
*/
int is_set_require_trusted_env;
- int require_trusted_env; /* bool */
+ int require_trusted_env;
};
struct api_access_rule {
/*
* The ID of the API access rule.
*/
- char *api_access_rule_id; /* string */
+ char *api_access_rule_id;
/*
* One or more IDs of Client Certificate Authorities (CAs) used for the
* API access rule.
*/
char *ca_ids_str;
- char **ca_ids; /* array string */
+ char **ca_ids;
/*
* One or more Client Certificate Common Names (CNs).
*/
char *cns_str;
- char **cns; /* array string */
+ char **cns;
/*
* The description of the API access rule.
*/
- char *description; /* string */
+ char *description;
/*
* One or more IP ranges used for the API access rule, in CIDR notation
* (for example, `192.0.2.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
};
struct application_sticky_cookie_policy {
/*
* The name of the application cookie used for stickiness.
*/
- char *cookie_name; /* string */
+ char *cookie_name;
/*
* The mnemonic name for the policy being created. The name must be
* unique within a set of policies for this load balancer.
*/
- char *policy_name; /* string */
+ char *policy_name;
};
struct backend_vm_health {
/*
* The description of the state of the backend VM.
*/
- char *description; /* string */
+ char *description;
/*
* The state of the backend VM (`InService` \\| `OutOfService` \\|
* `Unknown`).
*/
- char *state; /* string */
+ char *state;
/*
* Information about the cause of `OutOfService` VMs.
\nSpecifically, whether the cause is Elastic Load Balancing or the
* VM (`ELB` \\| `Instance` \\| `N/A`).
*/
- char *state_reason; /* string */
+ char *state_reason;
/*
* The ID of the backend VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct bsu_created {
@@ -378,43 +378,45 @@ struct bsu_created {
* volume is not deleted when terminating the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The date and time (UTC) of attachment of the volume to the VM, in ISO
* 8601 date-time format.
*/
- char *link_date; /* string */
+ char *link_date;
/*
* The state of the volume.
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the volume.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct block_device_mapping_created {
/*
* Information about the created BSU volume.
- * -DeleteOnVmDeletion: bool
- * If true, the volume is deleted when terminating the VM. If
- * false, the volume is not deleted when terminating the VM.
- * -LinkDate: string
- * The date and time (UTC) of attachment of the volume to the VM,
- * in ISO 8601 date-time format.
- * -State: string
+ * --Bsu.DeleteOnVmDeletion: bool
+ * If true, the volume is deleted when terminating the VM. If false,
+ * the
+ * volume is not deleted when terminating the VM.
+ * --Bsu.LinkDate: string
+ * The date and time (UTC) of attachment of the volume to the VM, in
+ * ISO
+ * 8601 date-time format.
+ * --Bsu.State: string
* The state of the volume.
- * -VolumeId: string
+ * --Bsu.VolumeId: string
* The ID of the volume.
*/
char *bsu_str;
int is_set_bsu;
- struct bsu_created bsu; /* ref BsuCreated */
+ struct bsu_created bsu;
/*
* The name of the device.
*/
- char *device_name; /* string */
+ char *device_name;
};
struct bsu_to_create {
@@ -423,7 +425,7 @@ struct bsu_to_create {
* the VM. If false, the volume is not deleted when terminating the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The number of I/O operations per second (IOPS). This parameter must
* be specified only if you create an `io1` volume. The maximum number
@@ -431,11 +433,11 @@ struct bsu_to_create {
* performance ratio of 300 IOPS per gibibyte.
*/
int is_set_iops;
- int iops; /* int */
+ int iops;
/*
* The ID of the snapshot used to create the volume.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
/*
* The size of the volume, in gibibytes (GiB).
\nIf you specify a
* snapshot ID, the volume size must be at least equal to the snapshot
@@ -443,7 +445,7 @@ struct bsu_to_create {
* volume is created with a size similar to the snapshot one.
*/
int is_set_volume_size;
- int volume_size; /* int */
+ int volume_size;
/*
* The type of the volume (`standard` \\| `io1` \\| `gp2`). If not
* specified in the request, a `standard` volume is created.
\nFor
@@ -452,100 +454,116 @@ struct bsu_to_create {
* IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
* e_types_and_iops).
*/
- char *volume_type; /* string */
+ char *volume_type;
};
struct block_device_mapping_image {
/*
* Information about the BSU volume to create.
- * -DeleteOnVmDeletion: bool
+ * --Bsu.DeleteOnVmDeletion: bool
* By default or if set to true, the volume is deleted when
- * terminating the VM. If false, the volume is not deleted when
- * terminating the VM.
- * -Iops: int
+ * terminating the
+ * VM. If false, the volume is not deleted when terminating the VM.
+ * --Bsu.Iops: int
* The number of I/O operations per second (IOPS). This parameter
- * must be specified only if you create an `io1` volume. The
- * maximum number of IOPS allowed for `io1` volumes is `13000`
- * with a maximum performance ratio of 300 IOPS per gibibyte.
- * -SnapshotId: string
+ * must be
+ * specified only if you create an `io1` volume. The maximum number
+ * of IOPS
+ * allowed for `io1` volumes is `13000` with a maximum performance
+ * ratio of
+ * 300 IOPS per gibibyte.
+ * --Bsu.SnapshotId: string
* The ID of the snapshot used to create the volume.
- * -VolumeSize: int
- * The size of the volume, in gibibytes (GiB).
\nIf you
- * specify a snapshot ID, the volume size must be at least equal
- * to the snapshot size.
\nIf you specify a snapshot ID but
- * no volume size, the volume is created with a size similar to
- * the snapshot one.
- * -VolumeType: string
- * The type of the volume (`standard` \\| `io1` \\| `gp2`). If
- * not specified in the request, a `standard` volume is
- * created.
\nFor more information about volume types, see
- * [About Volumes > Volume Types and
- * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#
- * _volume_types_and_iops).
+ * --Bsu.VolumeSize: int
+ * The size of the volume, in gibibytes (GiB).
\nIf you specify
+ * a
+ * snapshot ID, the volume size must be at least equal to the
+ * snapshot
+ * size.
\nIf you specify a snapshot ID but no volume size, the
+ * volume
+ * is created with a size similar to the snapshot one.
+ * --Bsu.VolumeType: string
+ * The type of the volume (`standard` \\| `io1` \\| `gp2`). If not
+ * specified in the request, a `standard` volume is created.
\nFor more
+ * information about volume types, see [About Volumes > Volume Types
+ * and
+ *
+ * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
+ * e_ty
+ * pes_and_iops).
*/
char *bsu_str;
int is_set_bsu;
- struct bsu_to_create bsu; /* ref BsuToCreate */
+ struct bsu_to_create bsu;
/*
* The device name for the volume. For a root device, you must use
* `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`,
* `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between
* `b` and `z`, and the second `X` is a letter between `a` and `z`).
*/
- char *device_name; /* string */
+ char *device_name;
/*
* The name of the virtual device (`ephemeralN`).
*/
- char *virtual_device_name; /* string */
+ char *virtual_device_name;
};
struct block_device_mapping_vm_creation {
/*
* Information about the BSU volume to create.
- * -DeleteOnVmDeletion: bool
+ * --Bsu.DeleteOnVmDeletion: bool
* By default or if set to true, the volume is deleted when
- * terminating the VM. If false, the volume is not deleted when
- * terminating the VM.
- * -Iops: int
+ * terminating the
+ * VM. If false, the volume is not deleted when terminating the VM.
+ * --Bsu.Iops: int
* The number of I/O operations per second (IOPS). This parameter
- * must be specified only if you create an `io1` volume. The
- * maximum number of IOPS allowed for `io1` volumes is `13000`
- * with a maximum performance ratio of 300 IOPS per gibibyte.
- * -SnapshotId: string
+ * must be
+ * specified only if you create an `io1` volume. The maximum number
+ * of IOPS
+ * allowed for `io1` volumes is `13000` with a maximum performance
+ * ratio of
+ * 300 IOPS per gibibyte.
+ * --Bsu.SnapshotId: string
* The ID of the snapshot used to create the volume.
- * -VolumeSize: int
- * The size of the volume, in gibibytes (GiB).
\nIf you
- * specify a snapshot ID, the volume size must be at least equal
- * to the snapshot size.
\nIf you specify a snapshot ID but
- * no volume size, the volume is created with a size similar to
- * the snapshot one.
- * -VolumeType: string
- * The type of the volume (`standard` \\| `io1` \\| `gp2`). If
- * not specified in the request, a `standard` volume is
- * created.
\nFor more information about volume types, see
- * [About Volumes > Volume Types and
- * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#
- * _volume_types_and_iops).
+ * --Bsu.VolumeSize: int
+ * The size of the volume, in gibibytes (GiB).
\nIf you specify
+ * a
+ * snapshot ID, the volume size must be at least equal to the
+ * snapshot
+ * size.
\nIf you specify a snapshot ID but no volume size, the
+ * volume
+ * is created with a size similar to the snapshot one.
+ * --Bsu.VolumeType: string
+ * The type of the volume (`standard` \\| `io1` \\| `gp2`). If not
+ * specified in the request, a `standard` volume is created.
\nFor more
+ * information about volume types, see [About Volumes > Volume Types
+ * and
+ *
+ * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
+ * e_ty
+ * pes_and_iops).
*/
char *bsu_str;
int is_set_bsu;
- struct bsu_to_create bsu; /* ref BsuToCreate */
+ struct bsu_to_create bsu;
/*
* The device name for the volume. For a root device, you must use
* `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`,
* `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between
* `b` and `z`, and the second `X` is a letter between `a` and `z`).
*/
- char *device_name; /* string */
+ char *device_name;
/*
* Removes the device which is included in the block device mapping of
* the OMI.
*/
- char *no_device; /* string */
+ char *no_device;
/*
* The name of the virtual device (`ephemeralN`).
*/
- char *virtual_device_name; /* string */
+ char *virtual_device_name;
};
struct bsu_to_update_vm {
@@ -554,169 +572,175 @@ struct bsu_to_update_vm {
* to false, the volume is not deleted when terminating the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The ID of the volume.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct block_device_mapping_vm_update {
/*
* Information about the BSU volume.
- * -DeleteOnVmDeletion: bool
- * If set to true, the volume is deleted when terminating the VM.
- * If set to false, the volume is not deleted when terminating the
- * VM.
- * -VolumeId: string
+ * --Bsu.DeleteOnVmDeletion: bool
+ * If set to true, the volume is deleted when terminating the VM. If
+ * set to
+ * false, the volume is not deleted when terminating the VM.
+ * --Bsu.VolumeId: string
* The ID of the volume.
*/
char *bsu_str;
int is_set_bsu;
- struct bsu_to_update_vm bsu; /* ref BsuToUpdateVm */
+ struct bsu_to_update_vm bsu;
/*
* The device name for the volume. For a root device, you must use
* `/dev/sda1`. For other volumes, you must use `/dev/sdX`, `/dev/sdXX`,
* `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter between
* `b` and `z`, and the second `X` is a letter between `a` and `z`).
*/
- char *device_name; /* string */
+ char *device_name;
/*
* Removes the device which is included in the block device mapping of
* the OMI.
*/
- char *no_device; /* string */
+ char *no_device;
/*
* The name of the virtual device (`ephemeralN`).
*/
- char *virtual_device_name; /* string */
+ char *virtual_device_name;
};
struct ca {
/*
* The fingerprint of the CA.
*/
- char *ca_fingerprint; /* string */
+ char *ca_fingerprint;
/*
* The ID of the CA.
*/
- char *ca_id; /* string */
+ char *ca_id;
/*
* The description of the CA.
*/
- char *description; /* string */
+ char *description;
};
struct catalog {
/*
* One or more catalog entries.
* Information about the catalog entry.
- * -Category: string
+ * --Entries.INDEX.Category: string
* The category of the catalog entry (for example, `network`).
- * -Flags: string
- * When returned and equal to `PER_MONTH`, the price of the
- * catalog entry is calculated on a monthly basis.
- * -Operation: string
+ * --Entries.INDEX.Flags: string
+ * When returned and equal to `PER_MONTH`, the price of the catalog
+ * entry
+ * is calculated on a monthly basis.
+ * --Entries.INDEX.Operation: string
* The API call associated with the catalog entry (for example,
- * `CreateVms` or `RunInstances`).
- * -Service: string
+ * `CreateVms`
+ * or `RunInstances`).
+ * --Entries.INDEX.Service: string
* The service associated with the catalog entry (`TinaOS-FCU`,
* `TinaOS-LBU`, `TinaOS-DirectLink`, or `TinaOS-OOS`).
- * -SubregionName: string
+ * --Entries.INDEX.SubregionName: string
* The Subregion associated with the catalog entry.
- * -Title: string
+ * --Entries.INDEX.Title: string
* The description of the catalog entry.
- * -Type: string
+ * --Entries.INDEX.Type: string
* The type of resource associated with the catalog entry.
- * -UnitPrice: double
+ * --Entries.INDEX.UnitPrice: double
* The unit price of the catalog entry, in the currency of the
- * Region's catalog.
+ * Region's
+ * catalog.
*/
char *entries_str;
int nb_entries;
- struct catalog_entry *entries; /* array ref CatalogEntry */
+ struct catalog_entry *entries;
};
struct catalog_entry {
/*
* The category of the catalog entry (for example, `network`).
*/
- char *category; /* string */
+ char *category;
/*
* When returned and equal to `PER_MONTH`, the price of the catalog
* entry is calculated on a monthly basis.
*/
- char *flags; /* string */
+ char *flags;
/*
* The API call associated with the catalog entry (for example,
* `CreateVms` or `RunInstances`).
*/
- char *operation; /* string */
+ char *operation;
/*
* The service associated with the catalog entry (`TinaOS-FCU`,
* `TinaOS-LBU`, `TinaOS-DirectLink`, or `TinaOS-OOS`).
*/
- char *service; /* string */
+ char *service;
/*
* The Subregion associated with the catalog entry.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The description of the catalog entry.
*/
- char *title; /* string */
+ char *title;
/*
* The type of resource associated with the catalog entry.
*/
- char *type; /* string */
+ char *type;
/*
* The unit price of the catalog entry, in the currency of the Region's
* catalog.
*/
int is_set_unit_price;
- double unit_price; /* double */
+ double unit_price;
};
struct catalogs {
/*
* One or more catalog entries.
* Information about the catalog entry.
- * -Category: string
+ * --Entries.INDEX.Category: string
* The category of the catalog entry (for example, `network`).
- * -Flags: string
- * When returned and equal to `PER_MONTH`, the price of the
- * catalog entry is calculated on a monthly basis.
- * -Operation: string
+ * --Entries.INDEX.Flags: string
+ * When returned and equal to `PER_MONTH`, the price of the catalog
+ * entry
+ * is calculated on a monthly basis.
+ * --Entries.INDEX.Operation: string
* The API call associated with the catalog entry (for example,
- * `CreateVms` or `RunInstances`).
- * -Service: string
+ * `CreateVms`
+ * or `RunInstances`).
+ * --Entries.INDEX.Service: string
* The service associated with the catalog entry (`TinaOS-FCU`,
* `TinaOS-LBU`, `TinaOS-DirectLink`, or `TinaOS-OOS`).
- * -SubregionName: string
+ * --Entries.INDEX.SubregionName: string
* The Subregion associated with the catalog entry.
- * -Title: string
+ * --Entries.INDEX.Title: string
* The description of the catalog entry.
- * -Type: string
+ * --Entries.INDEX.Type: string
* The type of resource associated with the catalog entry.
- * -UnitPrice: double
+ * --Entries.INDEX.UnitPrice: double
* The unit price of the catalog entry, in the currency of the
- * Region's catalog.
+ * Region's
+ * catalog.
*/
char *entries_str;
int nb_entries;
- struct catalog_entry *entries; /* array ref CatalogEntry */
+ struct catalog_entry *entries;
/*
* The beginning of the time period (UTC).
*/
- char *from_date; /* string */
+ char *from_date;
/*
* The state of the catalog (`CURRENT` \\| `OBSOLETE`).
*/
- char *state; /* string */
+ char *state;
/*
* The end of the time period (UTC).
*/
- char *to_date; /* string */
+ char *to_date;
};
struct client_gateway {
@@ -726,135 +750,135 @@ struct client_gateway {
* Internet.
*/
int is_set_bgp_asn;
- int bgp_asn; /* int */
+ int bgp_asn;
/*
* The ID of the client gateway.
*/
- char *client_gateway_id; /* string */
+ char *client_gateway_id;
/*
* The type of communication tunnel used by the client gateway (only
* `ipsec.1` is supported).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* The public IPv4 address of the client gateway (must be a fixed
* address into a NATed network).
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The state of the client gateway (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the client gateway.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct consumption_entry {
/*
* The ID of your TINA account.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The category of the resource (for example, `network`).
*/
- char *category; /* string */
+ char *category;
/*
* The beginning of the time period (UTC).
*/
- char *from_date; /* string */
+ char *from_date;
/*
* The API call that triggered the resource consumption (for example,
* `RunInstances` or `CreateVolume`).
*/
- char *operation; /* string */
+ char *operation;
/*
* The ID of the TINA account which is billed for your consumption. It
* can be different from your account in the `AccountId` parameter.
*/
- char *paying_account_id; /* string */
+ char *paying_account_id;
/*
* The total price of the consumed resource during the specified time
* period, in the currency of the Region's catalog.
*/
int is_set_price;
- double price; /* double */
+ double price;
/*
* The service of the API call (`TinaOS-FCU`, `TinaOS-LBU`,
* `TinaOS-DirectLink`, `TinaOS-OOS`, or `TinaOS-OSU`).
*/
- char *service; /* string */
+ char *service;
/*
* The name of the Subregion.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* A description of the consumed resource.
*/
- char *title; /* string */
+ char *title;
/*
* The end of the time period (UTC).
*/
- char *to_date; /* string */
+ char *to_date;
/*
* The type of resource, depending on the API call.
*/
- char *type; /* string */
+ char *type;
/*
* The unit price of the consumed resource, in the currency of the
* Region's catalog.
*/
int is_set_unit_price;
- double unit_price; /* double */
+ double unit_price;
/*
* The consumed amount for the resource. The unit depends on the
* resource type. For more information, see the `Title` element.
*/
int is_set_value;
- double value; /* double */
+ double value;
};
struct dedicated_group {
/*
* The account ID of the owners of the dedicated group.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The processor generation.
*/
int is_set_cpu_generation;
- int cpu_generation; /* int */
+ int cpu_generation;
/*
* The ID of the dedicated group.
*/
- char *dedicated_group_id; /* string */
+ char *dedicated_group_id;
/*
* The name of the dedicated group.
*/
- char *name; /* string */
+ char *name;
/*
* The IDs of the Nets in the dedicated group.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The name of the Subregion in which the dedicated group is located.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The IDs of the VMs in the dedicated group.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct dhcp_options_set {
@@ -862,68 +886,68 @@ struct dhcp_options_set {
* If true, the DHCP options set is a default one. If false, it is not.
*/
int is_set_default_arg;
- int default_arg; /* bool */
+ int default_arg;
/*
* The ID of the DHCP options set.
*/
- char *dhcp_options_set_id; /* string */
+ char *dhcp_options_set_id;
/*
* The domain name.
*/
- char *domain_name; /* string */
+ char *domain_name;
/*
* One or more IPs for the domain name servers.
*/
char *domain_name_servers_str;
- char **domain_name_servers; /* array string */
+ char **domain_name_servers;
/*
* One or more IPs for the log servers.
*/
char *log_servers_str;
- char **log_servers; /* array string */
+ char **log_servers;
/*
* One or more IPs for the NTP servers.
*/
char *ntp_servers_str;
- char **ntp_servers; /* array string */
+ char **ntp_servers;
/*
* One or more tags associated with the DHCP options set.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct direct_link {
/*
* The account ID of the owner of the DirectLink.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The physical link bandwidth (either 1 Gbps or 10 Gbps).
*/
- char *bandwidth; /* string */
+ char *bandwidth;
/*
* The ID of the DirectLink (for example, `dxcon-xxxxxxxx`).
*/
- char *direct_link_id; /* string */
+ char *direct_link_id;
/*
* The name of the DirectLink.
*/
- char *direct_link_name; /* string */
+ char *direct_link_name;
/*
* The datacenter where the DirectLink is located.
*/
- char *location; /* string */
+ char *location;
/*
* The Region in which the DirectLink has been created.
*/
- char *region_name; /* string */
+ char *region_name;
/*
* The state of the DirectLink.
\n* `requested`: The DirectLink is
* requested but the request has not been validated yet.
\n*
@@ -933,7 +957,7 @@ struct direct_link {
* ready to use.
\n* `deleting`: The deletion process is in
* progress.
\n* `deleted`: The DirectLink is deleted.
*/
- char *state; /* string */
+ char *state;
};
struct direct_link_interface {
@@ -943,99 +967,99 @@ struct direct_link_interface {
* between `64512` and `65534`.
*/
int is_set_bgp_asn;
- int bgp_asn; /* int */
+ int bgp_asn;
/*
* The BGP authentication key.
*/
- char *bgp_key; /* string */
+ char *bgp_key;
/*
* The IP on the customer's side of the DirectLink interface.
*/
- char *client_private_ip; /* string */
+ char *client_private_ip;
/*
* The name of the DirectLink interface.
*/
- char *direct_link_interface_name; /* string */
+ char *direct_link_interface_name;
/*
* The IP on the OUTSCALE side of the DirectLink interface.
*/
- char *outscale_private_ip; /* string */
+ char *outscale_private_ip;
/*
* The ID of the target virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
/*
* The VLAN number associated with the DirectLink interface. This number
* must be unique and be between `2` and `4094`.
*/
int is_set_vlan;
- int vlan; /* int */
+ int vlan;
};
struct direct_link_interfaces {
/*
* The account ID of the owner of the DirectLink interface.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The BGP (Border Gateway Protocol) ASN (Autonomous System Number) on
* the customer's side of the DirectLink interface.
*/
int is_set_bgp_asn;
- int bgp_asn; /* int */
+ int bgp_asn;
/*
* The BGP authentication key.
*/
- char *bgp_key; /* string */
+ char *bgp_key;
/*
* The IP on the customer's side of the DirectLink interface.
*/
- char *client_private_ip; /* string */
+ char *client_private_ip;
/*
* The ID of the DirectLink.
*/
- char *direct_link_id; /* string */
+ char *direct_link_id;
/*
* The ID of the DirectLink interface.
*/
- char *direct_link_interface_id; /* string */
+ char *direct_link_interface_id;
/*
* The name of the DirectLink interface.
*/
- char *direct_link_interface_name; /* string */
+ char *direct_link_interface_name;
/*
* The type of the DirectLink interface (always `private`).
*/
- char *interface_type; /* string */
+ char *interface_type;
/*
* The datacenter where the DirectLink interface is located.
*/
- char *location; /* string */
+ char *location;
/*
* The maximum transmission unit (MTU) of the DirectLink interface, in
* bytes (always `1500`).
*/
int is_set_mtu;
- int mtu; /* int */
+ int mtu;
/*
* The IP on the OUTSCALE side of the DirectLink interface.
*/
- char *outscale_private_ip; /* string */
+ char *outscale_private_ip;
/*
* The state of the DirectLink interface (`pending` \\| `available` \\|
* `deleting` \\| `deleted` \\| `confirming` \\| `rejected` \\|
* `expired`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the target virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
/*
* The VLAN number associated with the DirectLink interface.
*/
int is_set_vlan;
- int vlan; /* int */
+ int vlan;
};
struct errors {
@@ -1044,15 +1068,15 @@ struct errors {
* returned code in the [errors page](api-errors.html) to find more
* details about the error.
*/
- char *code; /* string */
+ char *code;
/*
* A description providing more details about the error.
*/
- char *details; /* string */
+ char *details;
/*
* The type of the error (for example, `InvalidParameterValue`).
*/
- char *type; /* string */
+ char *type;
};
struct filters_access_keys {
@@ -1060,12 +1084,12 @@ struct filters_access_keys {
* The IDs of the access keys.
*/
char *access_key_ids_str;
- char **access_key_ids; /* array string */
+ char **access_key_ids;
/*
* The states of the access keys (`ACTIVE` \\| `INACTIVE`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
};
struct filters_api_access_rule {
@@ -1073,27 +1097,27 @@ struct filters_api_access_rule {
* One or more IDs of API access rules.
*/
char *api_access_rule_ids_str;
- char **api_access_rule_ids; /* array string */
+ char **api_access_rule_ids;
/*
* One or more IDs of Client Certificate Authorities (CAs).
*/
char *ca_ids_str;
- char **ca_ids; /* array string */
+ char **ca_ids;
/*
* One or more Client Certificate Common Names (CNs).
*/
char *cns_str;
- char **cns; /* array string */
+ char **cns;
/*
* One or more descriptions of API access rules.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
};
struct filters_api_log {
@@ -1101,52 +1125,52 @@ struct filters_api_log {
* The access keys used for the logged calls.
*/
char *query_access_keys_str;
- char **query_access_keys; /* array string */
+ char **query_access_keys;
/*
* The names of the APIs of the logged calls (always `oapi` for the
* OUTSCALE API).
*/
char *query_api_names_str;
- char **query_api_names; /* array string */
+ char **query_api_names;
/*
* The names of the logged calls.
*/
char *query_call_names_str;
- char **query_call_names; /* array string */
+ char **query_call_names;
/*
* The date and time, or the date, after which you want to retrieve
* logged calls, in ISO 8601 format (for example,
* `2020-06-14T00:00:00.000Z` or `2020-06-14`). By default, this date is
* set to 48 hours before the `QueryDateBefore` parameter value.
*/
- char *query_date_after; /* string */
+ char *query_date_after;
/*
* The date and time, or the date, before which you want to retrieve
* logged calls, in ISO 8601 format (for example,
* `2020-06-30T00:00:00.000Z` or `2020-06-14`). By default, this date is
* set to now, or 48 hours after the `QueryDateAfter` parameter value.
*/
- char *query_date_before; /* string */
+ char *query_date_before;
/*
* The IPs used for the logged calls.
*/
char *query_ip_addresses_str;
- char **query_ip_addresses; /* array string */
+ char **query_ip_addresses;
/*
* The user agents of the HTTP requests of the logged calls.
*/
char *query_user_agents_str;
- char **query_user_agents; /* array string */
+ char **query_user_agents;
/*
* The request IDs provided in the responses of the logged calls.
*/
char *request_ids_str;
- char **request_ids; /* array string */
+ char **request_ids;
/*
* The HTTP status codes of the logged calls.
*/
char *response_status_codes_str;
- int *response_status_codes; /* array integer */
+ int *response_status_codes;
};
struct filters_ca {
@@ -1154,17 +1178,17 @@ struct filters_ca {
* The fingerprints of the CAs.
*/
char *ca_fingerprints_str;
- char **ca_fingerprints; /* array string */
+ char **ca_fingerprints;
/*
* The IDs of the CAs.
*/
char *ca_ids_str;
- char **ca_ids; /* array string */
+ char **ca_ids;
/*
* The descriptions of the CAs.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
};
struct filters_catalogs {
@@ -1173,19 +1197,19 @@ struct filters_catalogs {
* false, returns the current catalog and past catalogs.
*/
int is_set_current_catalog_only;
- int current_catalog_only; /* bool */
+ int current_catalog_only;
/*
* The beginning of the time period, in ISO 8601 date format (for
* example, `2020-06-14`). This date cannot be older than 3 years. You
* must specify the parameters `FromDate` and `ToDate` together.
*/
- char *from_date; /* string */
+ char *from_date;
/*
* The end of the time period, in ISO 8601 date format (for example,
* `2020-06-30`). You must specify the parameters `FromDate` and
* `ToDate` together.
*/
- char *to_date; /* string */
+ char *to_date;
};
struct filters_client_gateway {
@@ -1194,46 +1218,46 @@ struct filters_client_gateway {
* the connections.
*/
char *bgp_asns_str;
- int *bgp_asns; /* array integer */
+ int *bgp_asns;
/*
* The IDs of the client gateways.
*/
char *client_gateway_ids_str;
- char **client_gateway_ids; /* array string */
+ char **client_gateway_ids;
/*
* The types of communication tunnels used by the client gateways (only
* `ipsec.1` is supported).
*/
char *connection_types_str;
- char **connection_types; /* array string */
+ char **connection_types;
/*
* The public IPv4 addresses of the client gateways.
*/
char *public_ips_str;
- char **public_ips; /* array string */
+ char **public_ips;
/*
* The states of the client gateways (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the client gateways.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the client gateways.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the client
* gateways, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_dedicated_group {
@@ -1242,22 +1266,22 @@ struct filters_dedicated_group {
* example, `4`).
*/
char *cpu_generations_str;
- int *cpu_generations; /* array integer */
+ int *cpu_generations;
/*
* The IDs of the dedicated groups.
*/
char *dedicated_group_ids_str;
- char **dedicated_group_ids; /* array string */
+ char **dedicated_group_ids;
/*
* The names of the dedicated groups.
*/
char *names_str;
- char **names; /* array string */
+ char **names;
/*
* The names of the Subregions in which the dedicated groups are located.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
};
struct filters_dhcp_options {
@@ -1266,50 +1290,50 @@ struct filters_dhcp_options {
* non-default DHCP options set.
*/
int is_set_default_arg;
- int default_arg; /* bool */
+ int default_arg;
/*
* The IDs of the DHCP options sets.
*/
char *dhcp_options_set_ids_str;
- char **dhcp_options_set_ids; /* array string */
+ char **dhcp_options_set_ids;
/*
* The IPs of the domain name servers used for the DHCP options sets.
*/
char *domain_name_servers_str;
- char **domain_name_servers; /* array string */
+ char **domain_name_servers;
/*
* The domain names used for the DHCP options sets.
*/
char *domain_names_str;
- char **domain_names; /* array string */
+ char **domain_names;
/*
* The IPs of the log servers used for the DHCP options sets.
*/
char *log_servers_str;
- char **log_servers; /* array string */
+ char **log_servers;
/*
* The IPs of the Network Time Protocol (NTP) servers used for the DHCP
* options sets.
*/
char *ntp_servers_str;
- char **ntp_servers; /* array string */
+ char **ntp_servers;
/*
* The keys of the tags associated with the DHCP options sets.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the DHCP options sets.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the DHCP
* options sets, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_direct_link {
@@ -1317,7 +1341,7 @@ struct filters_direct_link {
* The IDs of the DirectLinks.
*/
char *direct_link_ids_str;
- char **direct_link_ids; /* array string */
+ char **direct_link_ids;
};
struct filters_direct_link_interface {
@@ -1325,12 +1349,12 @@ struct filters_direct_link_interface {
* The IDs of the DirectLinks.
*/
char *direct_link_ids_str;
- char **direct_link_ids; /* array string */
+ char **direct_link_ids;
/*
* The IDs of the DirectLink interfaces.
*/
char *direct_link_interface_ids_str;
- char **direct_link_interface_ids; /* array string */
+ char **direct_link_interface_ids;
};
struct filters_export_task {
@@ -1338,7 +1362,7 @@ struct filters_export_task {
* The IDs of the export tasks.
*/
char *task_ids_str;
- char **task_ids; /* array string */
+ char **task_ids;
};
struct filters_flexible_gpu {
@@ -1346,17 +1370,17 @@ struct filters_flexible_gpu {
* Indicates whether the fGPU is deleted when terminating the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* One or more IDs of fGPUs.
*/
char *flexible_gpu_ids_str;
- char **flexible_gpu_ids; /* array string */
+ char **flexible_gpu_ids;
/*
* The processor generations that the fGPUs are compatible with.
*/
char *generations_str;
- char **generations; /* array string */
+ char **generations;
/*
* One or more models of fGPUs. For more information, see [About
* Flexible
@@ -1364,23 +1388,23 @@ struct filters_flexible_gpu {
* .
*/
char *model_names_str;
- char **model_names; /* array string */
+ char **model_names;
/*
* The states of the fGPUs (`allocated` \\| `attaching` \\| `attached`
* \\| `detaching`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The Subregions where the fGPUs are located.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct filters_image {
@@ -1388,125 +1412,125 @@ struct filters_image {
* The account aliases of the owners of the OMIs.
*/
char *account_aliases_str;
- char **account_aliases; /* array string */
+ char **account_aliases;
/*
* The account IDs of the owners of the OMIs. By default, all the OMIs
* for which you have launch permissions are described.
*/
char *account_ids_str;
- char **account_ids; /* array string */
+ char **account_ids;
/*
* The architectures of the OMIs (`i386` \\| `x86_64`).
*/
char *architectures_str;
- char **architectures; /* array string */
+ char **architectures;
/*
* Whether the volumes are deleted or not when terminating the VM.
*/
int is_set_block_device_mapping_delete_on_vm_deletion;
- int block_device_mapping_delete_on_vm_deletion; /* bool */
+ int block_device_mapping_delete_on_vm_deletion;
/*
* The device names for the volumes.
*/
char *block_device_mapping_device_names_str;
- char **block_device_mapping_device_names; /* array string */
+ char **block_device_mapping_device_names;
/*
* The IDs of the snapshots used to create the volumes.
*/
char *block_device_mapping_snapshot_ids_str;
- char **block_device_mapping_snapshot_ids; /* array string */
+ char **block_device_mapping_snapshot_ids;
/*
* The sizes of the volumes, in gibibytes (GiB).
*/
char *block_device_mapping_volume_sizes_str;
- int *block_device_mapping_volume_sizes; /* array integer */
+ int *block_device_mapping_volume_sizes;
/*
* The types of volumes (`standard` \\| `gp2` \\| `io1`).
*/
char *block_device_mapping_volume_types_str;
- char **block_device_mapping_volume_types; /* array string */
+ char **block_device_mapping_volume_types;
/*
* The descriptions of the OMIs, provided when they were created.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* The locations of the buckets where the OMI files are stored.
*/
char *file_locations_str;
- char **file_locations; /* array string */
+ char **file_locations;
/*
* The hypervisor type of the OMI (always `xen`).
*/
char *hypervisors_str;
- char **hypervisors; /* array string */
+ char **hypervisors;
/*
* The IDs of the OMIs.
*/
char *image_ids_str;
- char **image_ids; /* array string */
+ char **image_ids;
/*
* The names of the OMIs, provided when they were created.
*/
char *image_names_str;
- char **image_names; /* array string */
+ char **image_names;
/*
* The account IDs which have launch permissions for the OMIs.
*/
char *permissions_to_launch_account_ids_str;
- char **permissions_to_launch_account_ids; /* array string */
+ char **permissions_to_launch_account_ids;
/*
* If true, lists all public OMIs. If false, lists all private OMIs.
*/
int is_set_permissions_to_launch_global_permission;
- int permissions_to_launch_global_permission; /* bool */
+ int permissions_to_launch_global_permission;
/*
* The names of the product codes associated with the OMI.
*/
char *product_code_names_str;
- char **product_code_names; /* array string */
+ char **product_code_names;
/*
* The product codes associated with the OMI.
*/
char *product_codes_str;
- char **product_codes; /* array string */
+ char **product_codes;
/*
* The name of the root device. This value must be /dev/sda1.
*/
char *root_device_names_str;
- char **root_device_names; /* array string */
+ char **root_device_names;
/*
* The types of root device used by the OMIs (`bsu` or `ebs`).
*/
char *root_device_types_str;
- char **root_device_types; /* array string */
+ char **root_device_types;
/*
* The states of the OMIs (`pending` \\| `available` \\| `failed`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the OMIs.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the OMIs.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the OMIs, in
* the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The virtualization types (always `hvm`).
*/
char *virtualization_types_str;
- char **virtualization_types; /* array string */
+ char **virtualization_types;
};
struct filters_internet_service {
@@ -1514,36 +1538,36 @@ struct filters_internet_service {
* The IDs of the Internet services.
*/
char *internet_service_ids_str;
- char **internet_service_ids; /* array string */
+ char **internet_service_ids;
/*
* The IDs of the Nets the Internet services are attached to.
*/
char *link_net_ids_str;
- char **link_net_ids; /* array string */
+ char **link_net_ids;
/*
* The current states of the attachments between the Internet services
* and the Nets (only `available`, if the Internet gateway is attached
* to a Net).
*/
char *link_states_str;
- char **link_states; /* array string */
+ char **link_states;
/*
* The keys of the tags associated with the Internet services.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the Internet services.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the Internet
* services, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_keypair {
@@ -1551,19 +1575,19 @@ struct filters_keypair {
* The fingerprints of the keypairs.
*/
char *keypair_fingerprints_str;
- char **keypair_fingerprints; /* array string */
+ char **keypair_fingerprints;
/*
* The names of the keypairs.
*/
char *keypair_names_str;
- char **keypair_names; /* array string */
+ char **keypair_names;
/*
* The types of the keypairs (`ssh-rsa`, `ssh-ed25519`,
* `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or
* `ecdsa-sha2-nistp521`).
*/
char *keypair_types_str;
- char **keypair_types; /* array string */
+ char **keypair_types;
};
struct filters_listener_rule {
@@ -1571,7 +1595,7 @@ struct filters_listener_rule {
* The names of the listener rules.
*/
char *listener_rule_names_str;
- char **listener_rule_names; /* array string */
+ char **listener_rule_names;
};
struct filters_load_balancer {
@@ -1579,7 +1603,7 @@ struct filters_load_balancer {
* The names of the load balancers.
*/
char *load_balancer_names_str;
- char **load_balancer_names; /* array string */
+ char **load_balancer_names;
};
struct filters_nat_service {
@@ -1587,45 +1611,45 @@ struct filters_nat_service {
* The idempotency tokens provided when creating the NAT services.
*/
char *client_tokens_str;
- char **client_tokens; /* array string */
+ char **client_tokens;
/*
* The IDs of the NAT services.
*/
char *nat_service_ids_str;
- char **nat_service_ids; /* array string */
+ char **nat_service_ids;
/*
* The IDs of the Nets in which the NAT services are.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The states of the NAT services (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The IDs of the Subnets in which the NAT services are.
*/
char *subnet_ids_str;
- char **subnet_ids; /* array string */
+ char **subnet_ids;
/*
* The keys of the tags associated with the NAT services.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the NAT services.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the NAT
* services, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_net {
@@ -1633,45 +1657,45 @@ struct filters_net {
* The IDs of the DHCP options sets.
*/
char *dhcp_options_set_ids_str;
- char **dhcp_options_set_ids; /* array string */
+ char **dhcp_options_set_ids;
/*
* The IP ranges for the Nets, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
/*
* If true, the Net used is the default one.
*/
int is_set_is_default;
- int is_default; /* bool */
+ int is_default;
/*
* The IDs of the Nets.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The states of the Nets (`pending` \\| `available` \\| `deleting`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the Nets.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the Nets.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the Nets, in
* the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_net_access_point {
@@ -1679,41 +1703,41 @@ struct filters_net_access_point {
* The IDs of the Net access points.
*/
char *net_access_point_ids_str;
- char **net_access_point_ids; /* array string */
+ char **net_access_point_ids;
/*
* The IDs of the Nets.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The names of the services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
*/
char *service_names_str;
- char **service_names; /* array string */
+ char **service_names;
/*
* The states of the Net access points (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the Net access points.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the Net access points.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the Net access
* points, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_net_peering {
@@ -1721,72 +1745,72 @@ struct filters_net_peering {
* The account IDs of the owners of the peer Nets.
*/
char *accepter_net_account_ids_str;
- char **accepter_net_account_ids; /* array string */
+ char **accepter_net_account_ids;
/*
* The IP ranges of the peer Nets, in CIDR notation (for example,
* `10.0.0.0/24`).
*/
char *accepter_net_ip_ranges_str;
- char **accepter_net_ip_ranges; /* array string */
+ char **accepter_net_ip_ranges;
/*
* The IDs of the peer Nets.
*/
char *accepter_net_net_ids_str;
- char **accepter_net_net_ids; /* array string */
+ char **accepter_net_net_ids;
/*
* The dates and times at which the Net peerings expire, in ISO 8601
* date-time format (for example, `2020-06-14T00:00:00.000Z`).
*/
char *expiration_dates_str;
- char **expiration_dates; /* array string */
+ char **expiration_dates;
/*
* The IDs of the Net peerings.
*/
char *net_peering_ids_str;
- char **net_peering_ids; /* array string */
+ char **net_peering_ids;
/*
* The account IDs of the owners of the peer Nets.
*/
char *source_net_account_ids_str;
- char **source_net_account_ids; /* array string */
+ char **source_net_account_ids;
/*
* The IP ranges of the peer Nets.
*/
char *source_net_ip_ranges_str;
- char **source_net_ip_ranges; /* array string */
+ char **source_net_ip_ranges;
/*
* The IDs of the peer Nets.
*/
char *source_net_net_ids_str;
- char **source_net_net_ids; /* array string */
+ char **source_net_net_ids;
/*
* Additional information about the states of the Net peerings.
*/
char *state_messages_str;
- char **state_messages; /* array string */
+ char **state_messages;
/*
* The states of the Net peerings (`pending-acceptance` \\| `active` \\|
* `rejected` \\| `failed` \\| `expired` \\| `deleted`).
*/
char *state_names_str;
- char **state_names; /* array string */
+ char **state_names;
/*
* The keys of the tags associated with the Net peerings.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the Net peerings.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the Net
* peerings, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_nic {
@@ -1794,155 +1818,155 @@ struct filters_nic {
* The descriptions of the NICs.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* Whether the source/destination checking is enabled (true) or disabled
* (false).
*/
int is_set_is_source_dest_check;
- int is_source_dest_check; /* bool */
+ int is_source_dest_check;
/*
* Whether the NICs are deleted when the VMs they are attached to are
* terminated.
*/
int is_set_link_nic_delete_on_vm_deletion;
- int link_nic_delete_on_vm_deletion; /* bool */
+ int link_nic_delete_on_vm_deletion;
/*
* The device numbers the NICs are attached to.
*/
char *link_nic_device_numbers_str;
- int *link_nic_device_numbers; /* array integer */
+ int *link_nic_device_numbers;
/*
* The attachment IDs of the NICs.
*/
char *link_nic_link_nic_ids_str;
- char **link_nic_link_nic_ids; /* array string */
+ char **link_nic_link_nic_ids;
/*
* The states of the attachments.
*/
char *link_nic_states_str;
- char **link_nic_states; /* array string */
+ char **link_nic_states;
/*
* The account IDs of the owners of the VMs the NICs are attached to.
*/
char *link_nic_vm_account_ids_str;
- char **link_nic_vm_account_ids; /* array string */
+ char **link_nic_vm_account_ids;
/*
* The IDs of the VMs the NICs are attached to.
*/
char *link_nic_vm_ids_str;
- char **link_nic_vm_ids; /* array string */
+ char **link_nic_vm_ids;
/*
* The account IDs of the owners of the public IPs associated with the
* NICs.
*/
char *link_public_ip_account_ids_str;
- char **link_public_ip_account_ids; /* array string */
+ char **link_public_ip_account_ids;
/*
* The association IDs returned when the public IPs were associated with
* the NICs.
*/
char *link_public_ip_link_public_ip_ids_str;
- char **link_public_ip_link_public_ip_ids; /* array string */
+ char **link_public_ip_link_public_ip_ids;
/*
* The public DNS names associated with the public IPs.
*/
char *link_public_ip_public_dns_names_str;
- char **link_public_ip_public_dns_names; /* array string */
+ char **link_public_ip_public_dns_names;
/*
* The allocation IDs returned when the public IPs were allocated to
* their accounts.
*/
char *link_public_ip_public_ip_ids_str;
- char **link_public_ip_public_ip_ids; /* array string */
+ char **link_public_ip_public_ip_ids;
/*
* The public IPs associated with the NICs.
*/
char *link_public_ip_public_ips_str;
- char **link_public_ip_public_ips; /* array string */
+ char **link_public_ip_public_ips;
/*
* The Media Access Control (MAC) addresses of the NICs.
*/
char *mac_addresses_str;
- char **mac_addresses; /* array string */
+ char **mac_addresses;
/*
* The IDs of the Nets where the NICs are located.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The IDs of the NICs.
*/
char *nic_ids_str;
- char **nic_ids; /* array string */
+ char **nic_ids;
/*
* The private DNS names associated with the primary private IPs.
*/
char *private_dns_names_str;
- char **private_dns_names; /* array string */
+ char **private_dns_names;
/*
* The account IDs of the owner of the public IPs associated with the
* private IPs.
*/
char *private_ips_link_public_ip_account_ids_str;
- char **private_ips_link_public_ip_account_ids; /* array string */
+ char **private_ips_link_public_ip_account_ids;
/*
* The public IPs associated with the private IPs.
*/
char *private_ips_link_public_ip_public_ips_str;
- char **private_ips_link_public_ip_public_ips; /* array string */
+ char **private_ips_link_public_ip_public_ips;
/*
* Whether the private IP is the primary IP associated with the NIC.
*/
int is_set_private_ips_primary_ip;
- int private_ips_primary_ip; /* bool */
+ int private_ips_primary_ip;
/*
* The private IPs of the NICs.
*/
char *private_ips_private_ips_str;
- char **private_ips_private_ips; /* array string */
+ char **private_ips_private_ips;
/*
* The IDs of the security groups associated with the NICs.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The names of the security groups associated with the NICs.
*/
char *security_group_names_str;
- char **security_group_names; /* array string */
+ char **security_group_names;
/*
* The states of the NICs.
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The IDs of the Subnets for the NICs.
*/
char *subnet_ids_str;
- char **subnet_ids; /* array string */
+ char **subnet_ids;
/*
* The Subregions where the NICs are located.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* The keys of the tags associated with the NICs.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the NICs.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the NICs, in
* the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_product_type {
@@ -1950,7 +1974,7 @@ struct filters_product_type {
* The IDs of the product types.
*/
char *product_type_ids_str;
- char **product_type_ids; /* array string */
+ char **product_type_ids;
};
struct filters_public_ip {
@@ -1958,59 +1982,59 @@ struct filters_public_ip {
* The IDs representing the associations of public IPs with VMs or NICs.
*/
char *link_public_ip_ids_str;
- char **link_public_ip_ids; /* array string */
+ char **link_public_ip_ids;
/*
* The account IDs of the owners of the NICs.
*/
char *nic_account_ids_str;
- char **nic_account_ids; /* array string */
+ char **nic_account_ids;
/*
* The IDs of the NICs.
*/
char *nic_ids_str;
- char **nic_ids; /* array string */
+ char **nic_ids;
/*
* Whether the public IPs are for use in the public Cloud or in a Net.
*/
char *placements_str;
- char **placements; /* array string */
+ char **placements;
/*
* The private IPs associated with the public IPs.
*/
char *private_ips_str;
- char **private_ips; /* array string */
+ char **private_ips;
/*
* The IDs of the public IPs.
*/
char *public_ip_ids_str;
- char **public_ip_ids; /* array string */
+ char **public_ip_ids;
/*
* The public IPs.
*/
char *public_ips_str;
- char **public_ips; /* array string */
+ char **public_ips;
/*
* The keys of the tags associated with the public IPs.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the public IPs.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the public IPs,
* in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The IDs of the VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct filters_quota {
@@ -2018,23 +2042,23 @@ struct filters_quota {
* The group names of the quotas.
*/
char *collections_str;
- char **collections; /* array string */
+ char **collections;
/*
* The names of the quotas.
*/
char *quota_names_str;
- char **quota_names; /* array string */
+ char **quota_names;
/*
* The resource IDs if these are resource-specific quotas, `global` if
* they are not.
*/
char *quota_types_str;
- char **quota_types; /* array string */
+ char **quota_types;
/*
* The description of the quotas.
*/
char *short_descriptions_str;
- char **short_descriptions; /* array string */
+ char **short_descriptions;
};
struct filters_route_table {
@@ -2042,89 +2066,89 @@ struct filters_route_table {
* The IDs of the route tables involved in the associations.
*/
char *link_route_table_ids_str;
- char **link_route_table_ids; /* array string */
+ char **link_route_table_ids;
/*
* The IDs of the associations between the route tables and the Subnets.
*/
char *link_route_table_link_route_table_ids_str;
- char **link_route_table_link_route_table_ids; /* array string */
+ char **link_route_table_link_route_table_ids;
/*
* If true, the route tables are the main ones for their Nets.
*/
int is_set_link_route_table_main;
- int link_route_table_main; /* bool */
+ int link_route_table_main;
/*
* The IDs of the Subnets involved in the associations.
*/
char *link_subnet_ids_str;
- char **link_subnet_ids; /* array string */
+ char **link_subnet_ids;
/*
* The IDs of the Nets for the route tables.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The methods used to create a route.
*/
char *route_creation_methods_str;
- char **route_creation_methods; /* array string */
+ char **route_creation_methods;
/*
* The IP ranges specified in routes in the tables.
*/
char *route_destination_ip_ranges_str;
- char **route_destination_ip_ranges; /* array string */
+ char **route_destination_ip_ranges;
/*
* The service IDs specified in routes in the tables.
*/
char *route_destination_service_ids_str;
- char **route_destination_service_ids; /* array string */
+ char **route_destination_service_ids;
/*
* The IDs of the gateways specified in routes in the tables.
*/
char *route_gateway_ids_str;
- char **route_gateway_ids; /* array string */
+ char **route_gateway_ids;
/*
* The IDs of the NAT services specified in routes in the tables.
*/
char *route_nat_service_ids_str;
- char **route_nat_service_ids; /* array string */
+ char **route_nat_service_ids;
/*
* The IDs of the Net peerings specified in routes in the tables.
*/
char *route_net_peering_ids_str;
- char **route_net_peering_ids; /* array string */
+ char **route_net_peering_ids;
/*
* The states of routes in the route tables (always `active`).
*/
char *route_states_str;
- char **route_states; /* array string */
+ char **route_states;
/*
* The IDs of the route tables.
*/
char *route_table_ids_str;
- char **route_table_ids; /* array string */
+ char **route_table_ids;
/*
* The IDs of the VMs specified in routes in the tables.
*/
char *route_vm_ids_str;
- char **route_vm_ids; /* array string */
+ char **route_vm_ids;
/*
* The keys of the tags associated with the route tables.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the route tables.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the route
* tables, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_security_group {
@@ -2132,117 +2156,117 @@ struct filters_security_group {
* The descriptions of the security groups.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* The account IDs that have been granted permissions.
*/
char *inbound_rule_account_ids_str;
- char **inbound_rule_account_ids; /* array string */
+ char **inbound_rule_account_ids;
/*
* The beginnings of the port ranges for the TCP and UDP protocols, or
* the ICMP type numbers.
*/
char *inbound_rule_from_port_ranges_str;
- int *inbound_rule_from_port_ranges; /* array integer */
+ int *inbound_rule_from_port_ranges;
/*
* The IP ranges that have been granted permissions, in CIDR notation
* (for example, `10.0.0.0/24`).
*/
char *inbound_rule_ip_ranges_str;
- char **inbound_rule_ip_ranges; /* array string */
+ char **inbound_rule_ip_ranges;
/*
* The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or
* a protocol number, or `-1` for all protocols).
*/
char *inbound_rule_protocols_str;
- char **inbound_rule_protocols; /* array string */
+ char **inbound_rule_protocols;
/*
* The IDs of the security groups that have been granted permissions.
*/
char *inbound_rule_security_group_ids_str;
- char **inbound_rule_security_group_ids; /* array string */
+ char **inbound_rule_security_group_ids;
/*
* The names of the security groups that have been granted permissions.
*/
char *inbound_rule_security_group_names_str;
- char **inbound_rule_security_group_names; /* array string */
+ char **inbound_rule_security_group_names;
/*
* The ends of the port ranges for the TCP and UDP protocols, or the
* ICMP code numbers.
*/
char *inbound_rule_to_port_ranges_str;
- int *inbound_rule_to_port_ranges; /* array integer */
+ int *inbound_rule_to_port_ranges;
/*
* The IDs of the Nets specified when the security groups were created.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The account IDs that have been granted permissions.
*/
char *outbound_rule_account_ids_str;
- char **outbound_rule_account_ids; /* array string */
+ char **outbound_rule_account_ids;
/*
* The beginnings of the port ranges for the TCP and UDP protocols, or
* the ICMP type numbers.
*/
char *outbound_rule_from_port_ranges_str;
- int *outbound_rule_from_port_ranges; /* array integer */
+ int *outbound_rule_from_port_ranges;
/*
* The IP ranges that have been granted permissions, in CIDR notation
* (for example, `10.0.0.0/24`).
*/
char *outbound_rule_ip_ranges_str;
- char **outbound_rule_ip_ranges; /* array string */
+ char **outbound_rule_ip_ranges;
/*
* The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`, or
* a protocol number, or `-1` for all protocols).
*/
char *outbound_rule_protocols_str;
- char **outbound_rule_protocols; /* array string */
+ char **outbound_rule_protocols;
/*
* The IDs of the security groups that have been granted permissions.
*/
char *outbound_rule_security_group_ids_str;
- char **outbound_rule_security_group_ids; /* array string */
+ char **outbound_rule_security_group_ids;
/*
* The names of the security groups that have been granted permissions.
*/
char *outbound_rule_security_group_names_str;
- char **outbound_rule_security_group_names; /* array string */
+ char **outbound_rule_security_group_names;
/*
* The ends of the port ranges for the TCP and UDP protocols, or the
* ICMP code numbers.
*/
char *outbound_rule_to_port_ranges_str;
- int *outbound_rule_to_port_ranges; /* array integer */
+ int *outbound_rule_to_port_ranges;
/*
* The IDs of the security groups.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The names of the security groups.
*/
char *security_group_names_str;
- char **security_group_names; /* array string */
+ char **security_group_names;
/*
* The keys of the tags associated with the security groups.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the security groups.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the security
* groups, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_server_certificate {
@@ -2250,7 +2274,7 @@ struct filters_server_certificate {
* The paths to the server certificates.
*/
char *paths_str;
- char **paths; /* array string */
+ char **paths;
};
struct filters_service {
@@ -2258,12 +2282,12 @@ struct filters_service {
* The IDs of the services.
*/
char *service_ids_str;
- char **service_ids; /* array string */
+ char **service_ids;
/*
* The names of the services.
*/
char *service_names_str;
- char **service_names; /* array string */
+ char **service_names;
};
struct filters_snapshot {
@@ -2271,82 +2295,82 @@ struct filters_snapshot {
* The account aliases of the owners of the snapshots.
*/
char *account_aliases_str;
- char **account_aliases; /* array string */
+ char **account_aliases;
/*
* The account IDs of the owners of the snapshots.
*/
char *account_ids_str;
- char **account_ids; /* array string */
+ char **account_ids;
/*
* The descriptions of the snapshots.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* The beginning of the time period, in ISO 8601 date-time format (for
* example, `2020-06-14T00:00:00.000Z`).
*/
- char *from_creation_date; /* string */
+ char *from_creation_date;
/*
* The account IDs which have permissions to create volumes.
*/
char *permissions_to_create_volume_account_ids_str;
- char **permissions_to_create_volume_account_ids; /* array string */
+ char **permissions_to_create_volume_account_ids;
/*
* If true, lists all public volumes. If false, lists all private
* volumes.
*/
int is_set_permissions_to_create_volume_global_permission;
- int permissions_to_create_volume_global_permission; /* bool */
+ int permissions_to_create_volume_global_permission;
/*
* The progresses of the snapshots, as a percentage.
*/
char *progresses_str;
- int *progresses; /* array integer */
+ int *progresses;
/*
* The IDs of the snapshots.
*/
char *snapshot_ids_str;
- char **snapshot_ids; /* array string */
+ char **snapshot_ids;
/*
* The states of the snapshots (`in-queue` \\| `pending` \\| `completed`
* \\| `error` \\| `deleting`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the snapshots.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the snapshots.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the snapshots,
* in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The end of the time period, in ISO 8601 date-time format (for
* example, `2020-06-30T00:00:00.000Z`).
*/
- char *to_creation_date; /* string */
+ char *to_creation_date;
/*
* The IDs of the volumes used to create the snapshots.
*/
char *volume_ids_str;
- char **volume_ids; /* array string */
+ char **volume_ids;
/*
* The sizes of the volumes used to create the snapshots, in gibibytes
* (GiB).
*/
char *volume_sizes_str;
- int *volume_sizes; /* array integer */
+ int *volume_sizes;
};
struct filters_subnet {
@@ -2354,50 +2378,50 @@ struct filters_subnet {
* The number of available IPs.
*/
char *available_ips_counts_str;
- int *available_ips_counts; /* array integer */
+ int *available_ips_counts;
/*
* The IP ranges in the Subnets, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
/*
* The IDs of the Nets in which the Subnets are.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The states of the Subnets (`pending` \\| `available` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The IDs of the Subnets.
*/
char *subnet_ids_str;
- char **subnet_ids; /* array string */
+ char **subnet_ids;
/*
* The names of the Subregions in which the Subnets are located.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* The keys of the tags associated with the Subnets.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the Subnets.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the Subnets, in
* the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
};
struct filters_subregion {
@@ -2405,17 +2429,17 @@ struct filters_subregion {
* The names of the Regions containing the Subregions.
*/
char *region_names_str;
- char **region_names; /* array string */
+ char **region_names;
/*
* The states of the Subregions.
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The names of the Subregions.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
};
struct filters_tag {
@@ -2426,12 +2450,12 @@ struct filters_tag {
* filter.
*/
char *keys_str;
- char **keys; /* array string */
+ char **keys;
/*
* The IDs of the resources with which the tags are associated.
*/
char *resource_ids_str;
- char **resource_ids; /* array string */
+ char **resource_ids;
/*
* The resource type (`vm` \\| `image` \\| `volume` \\| `snapshot` \\|
* `public-ip` \\| `security-group` \\| `route-table` \\| `nic` \\|
@@ -2440,7 +2464,7 @@ struct filters_tag {
* `virtual-gateway` \\| `vpn-connection` \\| `dhcp-options` \\| `task`).
*/
char *resource_types_str;
- char **resource_types; /* array string */
+ char **resource_types;
/*
* The values of the tags that are assigned to the resources. You can
* use this filter alongside the `TagKeys` filter. In that case, you
@@ -2448,7 +2472,7 @@ struct filters_tag {
* other filter.
*/
char *values_str;
- char **values; /* array string */
+ char **values;
};
struct filters_user_group {
@@ -2456,12 +2480,12 @@ struct filters_user_group {
* The path prefix of the groups. If not specified, it is set to a slash
* (`/`).
*/
- char *path_prefix; /* string */
+ char *path_prefix;
/*
* The IDs of the user groups.
*/
char *user_group_ids_str;
- char **user_group_ids; /* array string */
+ char **user_group_ids;
};
struct filters_virtual_gateway {
@@ -2469,47 +2493,47 @@ struct filters_virtual_gateway {
* The types of the virtual gateways (only `ipsec.1` is supported).
*/
char *connection_types_str;
- char **connection_types; /* array string */
+ char **connection_types;
/*
* The IDs of the Nets the virtual gateways are attached to.
*/
char *link_net_ids_str;
- char **link_net_ids; /* array string */
+ char **link_net_ids;
/*
* The current states of the attachments between the virtual gateways
* and the Nets (`attaching` \\| `attached` \\| `detaching` \\|
* `detached`).
*/
char *link_states_str;
- char **link_states; /* array string */
+ char **link_states;
/*
* The states of the virtual gateways (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* The keys of the tags associated with the virtual gateways.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the virtual gateways.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the virtual
* gateways, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The IDs of the virtual gateways.
*/
char *virtual_gateway_ids_str;
- char **virtual_gateway_ids; /* array string */
+ char **virtual_gateway_ids;
};
struct filters_vm {
@@ -2517,344 +2541,344 @@ struct filters_vm {
* The architectures of the VMs (`i386` \\| `x86_64`).
*/
char *architectures_str;
- char **architectures; /* array string */
+ char **architectures;
/*
* Whether the BSU volumes are deleted when terminating the VMs.
*/
int is_set_block_device_mapping_delete_on_vm_deletion;
- int block_device_mapping_delete_on_vm_deletion; /* bool */
+ int block_device_mapping_delete_on_vm_deletion;
/*
* The device names for the BSU volumes (in the format `/dev/sdX`,
* `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).
*/
char *block_device_mapping_device_names_str;
- char **block_device_mapping_device_names; /* array string */
+ char **block_device_mapping_device_names;
/*
* The link dates for the BSU volumes mapped to the VMs (for example,
* `2016-01-23T18:45:30.000Z`).
*/
char *block_device_mapping_link_dates_str;
- char **block_device_mapping_link_dates; /* array string */
+ char **block_device_mapping_link_dates;
/*
* The states for the BSU volumes (`attaching` \\| `attached` \\|
* `detaching` \\| `detached`).
*/
char *block_device_mapping_states_str;
- char **block_device_mapping_states; /* array string */
+ char **block_device_mapping_states;
/*
* The volume IDs of the BSU volumes.
*/
char *block_device_mapping_volume_ids_str;
- char **block_device_mapping_volume_ids; /* array string */
+ char **block_device_mapping_volume_ids;
/*
* The idempotency tokens provided when launching the VMs.
*/
char *client_tokens_str;
- char **client_tokens; /* array string */
+ char **client_tokens;
/*
* The dates when the VMs were launched.
*/
char *creation_dates_str;
- char **creation_dates; /* array string */
+ char **creation_dates;
/*
* The IDs of the OMIs used to launch the VMs.
*/
char *image_ids_str;
- char **image_ids; /* array string */
+ char **image_ids;
/*
* Whether the source/destination checking is enabled (true) or disabled
* (false).
*/
int is_set_is_source_dest_checked;
- int is_source_dest_checked; /* bool */
+ int is_source_dest_checked;
/*
* The names of the keypairs used when launching the VMs.
*/
char *keypair_names_str;
- char **keypair_names; /* array string */
+ char **keypair_names;
/*
* The numbers for the VMs when launching a group of several VMs (for
* example, `0`, `1`, `2`, and so on).
*/
char *launch_numbers_str;
- int *launch_numbers; /* array integer */
+ int *launch_numbers;
/*
* Whether the VMs are Spot Instances (spot).
*/
char *lifecycles_str;
- char **lifecycles; /* array string */
+ char **lifecycles;
/*
* The IDs of the Nets in which the VMs are running.
*/
char *net_ids_str;
- char **net_ids; /* array string */
+ char **net_ids;
/*
* The IDs of the NICs.
*/
char *nic_account_ids_str;
- char **nic_account_ids; /* array string */
+ char **nic_account_ids;
/*
* The descriptions of the NICs.
*/
char *nic_descriptions_str;
- char **nic_descriptions; /* array string */
+ char **nic_descriptions;
/*
* Whether the source/destination checking is enabled (true) or disabled
* (false).
*/
int is_set_nic_is_source_dest_checked;
- int nic_is_source_dest_checked; /* bool */
+ int nic_is_source_dest_checked;
/*
* Whether the NICs are deleted when the VMs they are attached to are
* deleted.
*/
int is_set_nic_link_nic_delete_on_vm_deletion;
- int nic_link_nic_delete_on_vm_deletion; /* bool */
+ int nic_link_nic_delete_on_vm_deletion;
/*
* The device numbers the NICs are attached to.
*/
char *nic_link_nic_device_numbers_str;
- int *nic_link_nic_device_numbers; /* array integer */
+ int *nic_link_nic_device_numbers;
/*
* The dates and times (UTC) when the NICs were attached to the VMs.
*/
char *nic_link_nic_link_nic_dates_str;
- char **nic_link_nic_link_nic_dates; /* array string */
+ char **nic_link_nic_link_nic_dates;
/*
* The IDs of the NIC attachments.
*/
char *nic_link_nic_link_nic_ids_str;
- char **nic_link_nic_link_nic_ids; /* array string */
+ char **nic_link_nic_link_nic_ids;
/*
* The states of the attachments.
*/
char *nic_link_nic_states_str;
- char **nic_link_nic_states; /* array string */
+ char **nic_link_nic_states;
/*
* The account IDs of the owners of the VMs the NICs are attached to.
*/
char *nic_link_nic_vm_account_ids_str;
- char **nic_link_nic_vm_account_ids; /* array string */
+ char **nic_link_nic_vm_account_ids;
/*
* The IDs of the VMs the NICs are attached to.
*/
char *nic_link_nic_vm_ids_str;
- char **nic_link_nic_vm_ids; /* array string */
+ char **nic_link_nic_vm_ids;
/*
* The account IDs of the owners of the public IPs associated with the
* NICs.
*/
char *nic_link_public_ip_account_ids_str;
- char **nic_link_public_ip_account_ids; /* array string */
+ char **nic_link_public_ip_account_ids;
/*
* The association IDs returned when the public IPs were associated with
* the NICs.
*/
char *nic_link_public_ip_link_public_ip_ids_str;
- char **nic_link_public_ip_link_public_ip_ids; /* array string */
+ char **nic_link_public_ip_link_public_ip_ids;
/*
* The allocation IDs returned when the public IPs were allocated to
* their accounts.
*/
char *nic_link_public_ip_public_ip_ids_str;
- char **nic_link_public_ip_public_ip_ids; /* array string */
+ char **nic_link_public_ip_public_ip_ids;
/*
* The public IPs associated with the NICs.
*/
char *nic_link_public_ip_public_ips_str;
- char **nic_link_public_ip_public_ips; /* array string */
+ char **nic_link_public_ip_public_ips;
/*
* The Media Access Control (MAC) addresses of the NICs.
*/
char *nic_mac_addresses_str;
- char **nic_mac_addresses; /* array string */
+ char **nic_mac_addresses;
/*
* The IDs of the Nets where the NICs are located.
*/
char *nic_net_ids_str;
- char **nic_net_ids; /* array string */
+ char **nic_net_ids;
/*
* The IDs of the NICs.
*/
char *nic_nic_ids_str;
- char **nic_nic_ids; /* array string */
+ char **nic_nic_ids;
/*
* The account IDs of the owner of the public IPs associated with the
* private IPs.
*/
char *nic_private_ips_link_public_ip_account_ids_str;
- char **nic_private_ips_link_public_ip_account_ids; /* array string */
+ char **nic_private_ips_link_public_ip_account_ids;
/*
* The public IPs associated with the private IPs.
*/
char *nic_private_ips_link_public_ip_ids_str;
- char **nic_private_ips_link_public_ip_ids; /* array string */
+ char **nic_private_ips_link_public_ip_ids;
/*
* Whether the private IPs are the primary IPs associated with the NICs.
*/
int is_set_nic_private_ips_primary_ip;
- int nic_private_ips_primary_ip; /* bool */
+ int nic_private_ips_primary_ip;
/*
* The private IPs of the NICs.
*/
char *nic_private_ips_private_ips_str;
- char **nic_private_ips_private_ips; /* array string */
+ char **nic_private_ips_private_ips;
/*
* The IDs of the security groups associated with the NICs.
*/
char *nic_security_group_ids_str;
- char **nic_security_group_ids; /* array string */
+ char **nic_security_group_ids;
/*
* The names of the security groups associated with the NICs.
*/
char *nic_security_group_names_str;
- char **nic_security_group_names; /* array string */
+ char **nic_security_group_names;
/*
* The states of the NICs (`available` \\| `in-use`).
*/
char *nic_states_str;
- char **nic_states; /* array string */
+ char **nic_states;
/*
* The IDs of the Subnets for the NICs.
*/
char *nic_subnet_ids_str;
- char **nic_subnet_ids; /* array string */
+ char **nic_subnet_ids;
/*
* The Subregions where the NICs are located.
*/
char *nic_subregion_names_str;
- char **nic_subregion_names; /* array string */
+ char **nic_subregion_names;
/*
* The platforms. Use windows if you have Windows VMs. Otherwise, leave
* this filter blank.
*/
char *platforms_str;
- char **platforms; /* array string */
+ char **platforms;
/*
* The private IPs of the VMs.
*/
char *private_ips_str;
- char **private_ips; /* array string */
+ char **private_ips;
/*
* The product codes associated with the OMI used to create the VMs.
*/
char *product_codes_str;
- char **product_codes; /* array string */
+ char **product_codes;
/*
* The public IPs of the VMs.
*/
char *public_ips_str;
- char **public_ips; /* array string */
+ char **public_ips;
/*
* The IDs of the reservation of the VMs, created every time you launch
* VMs. These reservation IDs can be associated with several VMs when
* you lauch a group of VMs using the same launch request.
*/
char *reservation_ids_str;
- char **reservation_ids; /* array string */
+ char **reservation_ids;
/*
* The names of the root devices for the VMs (for example, `/dev/sda1`)
*/
char *root_device_names_str;
- char **root_device_names; /* array string */
+ char **root_device_names;
/*
* The root devices types used by the VMs (always `ebs`)
*/
char *root_device_types_str;
- char **root_device_types; /* array string */
+ char **root_device_types;
/*
* The IDs of the security groups for the VMs (only in the public Cloud).
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The names of the security groups for the VMs (only in the public
* Cloud).
*/
char *security_group_names_str;
- char **security_group_names; /* array string */
+ char **security_group_names;
/*
* The reason codes for the state changes.
*/
char *state_reason_codes_str;
- int *state_reason_codes; /* array integer */
+ int *state_reason_codes;
/*
* The messages describing the state changes.
*/
char *state_reason_messages_str;
- char **state_reason_messages; /* array string */
+ char **state_reason_messages;
/*
* The reasons explaining the current states of the VMs. This filter is
* like the `StateReasonCodes` one.
*/
char *state_reasons_str;
- char **state_reasons; /* array string */
+ char **state_reasons;
/*
* The IDs of the Subnets for the VMs.
*/
char *subnet_ids_str;
- char **subnet_ids; /* array string */
+ char **subnet_ids;
/*
* The names of the Subregions of the VMs.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* The keys of the tags associated with the VMs.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the VMs.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the VMs, in the
* following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The tenancies of the VMs (`dedicated` \\| `default` \\| `host`).
*/
char *tenancies_str;
- char **tenancies; /* array string */
+ char **tenancies;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
/*
* The IDs of the security groups for the VMs.
*/
char *vm_security_group_ids_str;
- char **vm_security_group_ids; /* array string */
+ char **vm_security_group_ids;
/*
* The names of the security group for the VMs.
*/
char *vm_security_group_names_str;
- char **vm_security_group_names; /* array string */
+ char **vm_security_group_names;
/*
* The state codes of the VMs: `-1` (quarantine), `0` (pending), `16`
* (running), `32` (shutting-down), `48` (terminated), `64` (stopping),
* and `80` (stopped).
*/
char *vm_state_codes_str;
- int *vm_state_codes; /* array integer */
+ int *vm_state_codes;
/*
* The state names of the VMs (`pending` \\| `running` \\| `stopping`
* \\| `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
*/
char *vm_state_names_str;
- char **vm_state_names; /* array string */
+ char **vm_state_names;
/*
* The VM types (for example, t2.micro). For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
char *vm_types_str;
- char **vm_types; /* array string */
+ char **vm_types;
};
struct filters_vm_group {
@@ -2862,54 +2886,54 @@ struct filters_vm_group {
* The descriptions of the VM groups.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* The IDs of the security groups.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The IDs of the Subnets.
*/
char *subnet_ids_str;
- char **subnet_ids; /* array string */
+ char **subnet_ids;
/*
* The keys of the tags associated with the VM groups.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the VM groups.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the VMs, in the
* following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The number of VMs in the VM group.
*/
char *vm_counts_str;
- int *vm_counts; /* array integer */
+ int *vm_counts;
/*
* The IDs of the VM groups.
*/
char *vm_group_ids_str;
- char **vm_group_ids; /* array string */
+ char **vm_group_ids;
/*
* The names of the VM groups.
*/
char *vm_group_names_str;
- char **vm_group_names; /* array string */
+ char **vm_group_names;
/*
* The IDs of the VM templates.
*/
char *vm_template_ids_str;
- char **vm_template_ids; /* array string */
+ char **vm_template_ids;
};
struct filters_vm_template {
@@ -2917,64 +2941,64 @@ struct filters_vm_template {
* The number of vCores.
*/
char *cpu_cores_str;
- int *cpu_cores; /* array integer */
+ int *cpu_cores;
/*
* The processor generations (for example, `v4`).
*/
char *cpu_generations_str;
- char **cpu_generations; /* array string */
+ char **cpu_generations;
/*
* The performances of the VMs.
*/
char *cpu_performances_str;
- char **cpu_performances; /* array string */
+ char **cpu_performances;
/*
* The descriptions of the VM templates.
*/
char *descriptions_str;
- char **descriptions; /* array string */
+ char **descriptions;
/*
* The IDs of the OMIs.
*/
char *image_ids_str;
- char **image_ids; /* array string */
+ char **image_ids;
/*
* The names of the keypairs.
*/
char *keypair_names_str;
- char **keypair_names; /* array string */
+ char **keypair_names;
/*
* The amount of RAM.
*/
char *rams_str;
- int *rams; /* array integer */
+ int *rams;
/*
* The keys of the tags associated with the VM templates.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the VM templates.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the VM
* templates, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The IDs of the VM templates.
*/
char *vm_template_ids_str;
- char **vm_template_ids; /* array string */
+ char **vm_template_ids;
/*
* The names of the VM templates.
*/
char *vm_template_names_str;
- char **vm_template_names; /* array string */
+ char **vm_template_names;
};
struct filters_vm_type {
@@ -2983,48 +3007,48 @@ struct filters_vm_type {
* sake of historical compatibility with AWS.
*/
int is_set_bsu_optimized;
- int bsu_optimized; /* bool */
+ int bsu_optimized;
/*
* The types of ephemeral storage disk.
*/
char *ephemerals_types_str;
- char **ephemerals_types; /* array string */
+ char **ephemerals_types;
/*
* The number of Ethernet interfaces available.
*/
char *eths_str;
- int *eths; /* array integer */
+ int *eths;
/*
* The number of GPUs available.
*/
char *gpus_str;
- int *gpus; /* array integer */
+ int *gpus;
/*
* The amounts of memory, in gibibytes (GiB).
*/
char *memory_sizes_str;
- double *memory_sizes; /* array double */
+ double *memory_sizes;
/*
* The numbers of vCores.
*/
char *vcore_counts_str;
- int *vcore_counts; /* array integer */
+ int *vcore_counts;
/*
* The names of the VM types. For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
char *vm_type_names_str;
- char **vm_type_names; /* array string */
+ char **vm_type_names;
/*
* The maximum number of ephemeral storage disks.
*/
char *volume_counts_str;
- int *volume_counts; /* array integer */
+ int *volume_counts;
/*
* The size of one ephemeral storage disk, in gibibytes (GiB).
*/
char *volume_sizes_str;
- int *volume_sizes; /* array integer */
+ int *volume_sizes;
};
struct filters_vms_state {
@@ -3033,38 +3057,38 @@ struct filters_vms_state {
* `system-maintenance`).
*/
char *maintenance_event_codes_str;
- char **maintenance_event_codes; /* array string */
+ char **maintenance_event_codes;
/*
* The description of the scheduled event.
*/
char *maintenance_event_descriptions_str;
- char **maintenance_event_descriptions; /* array string */
+ char **maintenance_event_descriptions;
/*
* The latest date and time (UTC) the event can end.
*/
char *maintenance_events_not_after_str;
- char **maintenance_events_not_after; /* array string */
+ char **maintenance_events_not_after;
/*
* The earliest date and time (UTC) the event can start.
*/
char *maintenance_events_not_before_str;
- char **maintenance_events_not_before; /* array string */
+ char **maintenance_events_not_before;
/*
* The names of the Subregions of the VMs.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
/*
* The states of the VMs (`pending` \\| `running` \\| `stopping` \\|
* `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
*/
char *vm_states_str;
- char **vm_states; /* array string */
+ char **vm_states;
};
struct filters_volume {
@@ -3073,82 +3097,82 @@ struct filters_volume {
* format (for example, `2020-06-30T00:00:00.000Z`).
*/
char *creation_dates_str;
- char **creation_dates; /* array string */
+ char **creation_dates;
/*
* Whether the volumes are deleted or not when terminating the VMs.
*/
int is_set_link_volume_delete_on_vm_deletion;
- int link_volume_delete_on_vm_deletion; /* bool */
+ int link_volume_delete_on_vm_deletion;
/*
* The VM device names.
*/
char *link_volume_device_names_str;
- char **link_volume_device_names; /* array string */
+ char **link_volume_device_names;
/*
* The dates and times of creation of the volumes, in ISO 8601 date-time
* format (for example, `2020-06-30T00:00:00.000Z`).
*/
char *link_volume_link_dates_str;
- char **link_volume_link_dates; /* array string */
+ char **link_volume_link_dates;
/*
* The attachment states of the volumes (`attaching` \\| `detaching` \\|
* `attached` \\| `detached`).
*/
char *link_volume_link_states_str;
- char **link_volume_link_states; /* array string */
+ char **link_volume_link_states;
/*
* One or more IDs of VMs.
*/
char *link_volume_vm_ids_str;
- char **link_volume_vm_ids; /* array string */
+ char **link_volume_vm_ids;
/*
* The snapshots from which the volumes were created.
*/
char *snapshot_ids_str;
- char **snapshot_ids; /* array string */
+ char **snapshot_ids;
/*
* The names of the Subregions in which the volumes were created.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* The keys of the tags associated with the volumes.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the volumes.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the volumes, in
* the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The IDs of the volumes.
*/
char *volume_ids_str;
- char **volume_ids; /* array string */
+ char **volume_ids;
/*
* The sizes of the volumes, in gibibytes (GiB).
*/
char *volume_sizes_str;
- int *volume_sizes; /* array integer */
+ int *volume_sizes;
/*
* The states of the volumes (`creating` \\| `available` \\| `in-use`
* \\| `updating` \\| `deleting` \\| `error`).
*/
char *volume_states_str;
- char **volume_states; /* array string */
+ char **volume_states;
/*
* The types of the volumes (`standard` \\| `gp2` \\| `io1`).
*/
char *volume_types_str;
- char **volume_types; /* array string */
+ char **volume_types;
};
struct filters_vpn_connection {
@@ -3157,28 +3181,28 @@ struct filters_vpn_connection {
* the connections.
*/
char *bgp_asns_str;
- int *bgp_asns; /* array integer */
+ int *bgp_asns;
/*
* The IDs of the client gateways.
*/
char *client_gateway_ids_str;
- char **client_gateway_ids; /* array string */
+ char **client_gateway_ids;
/*
* The types of the VPN connections (only `ipsec.1` is supported).
*/
char *connection_types_str;
- char **connection_types; /* array string */
+ char **connection_types;
/*
* The destination IP ranges.
*/
char *route_destination_ip_ranges_str;
- char **route_destination_ip_ranges; /* array string */
+ char **route_destination_ip_ranges;
/*
* The states of the VPN connections (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
char *states_str;
- char **states; /* array string */
+ char **states;
/*
* If false, the VPN connection uses dynamic routing with Border Gateway
* Protocol (BGP). If true, routing is controlled using static routes.
@@ -3187,34 +3211,34 @@ struct filters_vpn_connection {
* [DeleteVpnConnectionRoute](#deletevpnconnectionroute).
*/
int is_set_static_routes_only;
- int static_routes_only; /* bool */
+ int static_routes_only;
/*
* The keys of the tags associated with the VPN connections.
*/
char *tag_keys_str;
- char **tag_keys; /* array string */
+ char **tag_keys;
/*
* The values of the tags associated with the VPN connections.
*/
char *tag_values_str;
- char **tag_values; /* array string */
+ char **tag_values;
/*
* The key/value combination of the tags associated with the VPN
* connections, in the following format:
* "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *tags_str;
- char **tags; /* array string */
+ char **tags;
/*
* The IDs of the virtual gateways.
*/
char *virtual_gateway_ids_str;
- char **virtual_gateway_ids; /* array string */
+ char **virtual_gateway_ids;
/*
* The IDs of the VPN connections.
*/
char *vpn_connection_ids_str;
- char **vpn_connection_ids; /* array string */
+ char **vpn_connection_ids;
};
struct flexible_gpu {
@@ -3222,34 +3246,34 @@ struct flexible_gpu {
* If true, the fGPU is deleted when the VM is terminated.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The ID of the fGPU.
*/
- char *flexible_gpu_id; /* string */
+ char *flexible_gpu_id;
/*
* The compatible processor generation.
*/
- char *generation; /* string */
+ char *generation;
/*
* The model of fGPU. For more information, see [About Flexible
* GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html)
* .
*/
- char *model_name; /* string */
+ char *model_name;
/*
* The state of the fGPU (`allocated` \\| `attaching` \\| `attached` \\|
* `detaching`).
*/
- char *state; /* string */
+ char *state;
/*
* The Subregion where the fGPU is located.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The ID of the VM the fGPU is attached to, if any.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct flexible_gpu_catalog {
@@ -3257,26 +3281,26 @@ struct flexible_gpu_catalog {
* The generations of VMs that the fGPU is compatible with.
*/
char *generations_str;
- char **generations; /* array string */
+ char **generations;
/*
* The maximum number of VM vCores that the fGPU is compatible with.
*/
int is_set_max_cpu;
- int max_cpu; /* int */
+ int max_cpu;
/*
* The maximum amount of VM memory that the fGPU is compatible with.
*/
int is_set_max_ram;
- int max_ram; /* int */
+ int max_ram;
/*
* The model of fGPU.
*/
- char *model_name; /* string */
+ char *model_name;
/*
* The amount of video RAM (VRAM) of the fGPU.
*/
int is_set_vram;
- int vram; /* int */
+ int vram;
};
struct health_check {
@@ -3285,39 +3309,39 @@ struct health_check {
* both included).
*/
int is_set_check_interval;
- int check_interval; /* int */
+ int check_interval;
/*
* The number of consecutive successful requests before considering the
* VM as healthy (between `2` and `10` both included).
*/
int is_set_healthy_threshold;
- int healthy_threshold; /* int */
+ int healthy_threshold;
/*
* If you use the HTTP or HTTPS protocols, the request URL path.
*/
- char *path; /* string */
+ char *path;
/*
* The port number (between `1` and `65535`, both included).
*/
int is_set_port;
- int port; /* int */
+ int port;
/*
* The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP` \\|
* `SSL`).
*/
- char *protocol; /* string */
+ char *protocol;
/*
* The maximum waiting time for a response before considering the VM as
* unhealthy, in seconds (between `2` and `60` both included).
*/
int is_set_timeout;
- int timeout; /* int */
+ int timeout;
/*
* The number of consecutive failed requests before considering the VM
* as unhealthy (between `2` and `10` both included).
*/
int is_set_unhealthy_threshold;
- int unhealthy_threshold; /* int */
+ int unhealthy_threshold;
};
struct permissions_on_resource {
@@ -3325,7 +3349,7 @@ struct permissions_on_resource {
* One or more account IDs that the permission is associated with.
*/
char *account_ids_str;
- char **account_ids; /* array string */
+ char **account_ids;
/*
* A global permission for all accounts.
\n(Request) Set this
* parameter to true to make the resource public (if the parent
@@ -3334,225 +3358,236 @@ struct permissions_on_resource {
* resource is public. If false, the resource is private.
*/
int is_set_global_permission;
- int global_permission; /* bool */
+ int global_permission;
};
struct state_comment {
/*
* The code of the change of state.
*/
- char *state_code; /* string */
+ char *state_code;
/*
* A message explaining the change of state.
*/
- char *state_message; /* string */
+ char *state_message;
};
struct image {
/*
* The account alias of the owner of the OMI.
*/
- char *account_alias; /* string */
+ char *account_alias;
/*
* The account ID of the owner of the OMI.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The architecture of the OMI.
*/
- char *architecture; /* string */
+ char *architecture;
/*
* One or more block device mappings.
- * One or more parameters used to automatically set up volumes
- * when the VM is created.
- * -Bsu: ref BsuToCreate
+ * One or more parameters used to automatically set up volumes when
+ * the VM
+ * is created.
+ * --BlockDeviceMappings.INDEX.Bsu: ref BsuToCreate
* Information about the BSU volume to create.
- * -DeleteOnVmDeletion: bool
+ * --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool
* By default or if set to true, the volume is deleted when
- * terminating the VM. If false, the volume is not deleted when
- * terminating the VM.
- * -Iops: int
+ * terminating the
+ * VM. If false, the volume is not deleted when terminating the
+ * VM.
+ * --BlockDeviceMappings.INDEX.Bsu.Iops: int
* The number of I/O operations per second (IOPS). This
- * parameter
- * must be specified only if you create an `io1` volume. The
- * maximum number of IOPS allowed for `io1` volumes is `13000`
- * with a maximum performance ratio of 300 IOPS per gibibyte.
- * -SnapshotId: string
+ * parameter must be
+ * specified only if you create an `io1` volume. The maximum
+ * number of IOPS
+ * allowed for `io1` volumes is `13000` with a maximum
+ * performance ratio of
+ * 300 IOPS per gibibyte.
+ * --BlockDeviceMappings.INDEX.Bsu.SnapshotId: string
* The ID of the snapshot used to create the volume.
- * -VolumeSize: int
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeSize: int
* The size of the volume, in gibibytes (GiB).
\nIf you
- * specify a snapshot ID, the volume size must be at least equal
- * to the snapshot size.
\nIf you specify a snapshot ID but
- * no volume size, the volume is created with a size similar to
- * the snapshot one.
- * -VolumeType: string
+ * specify a
+ * snapshot ID, the volume size must be at least equal to the
+ * snapshot
+ * size.
\nIf you specify a snapshot ID but no volume size,
+ * the volume
+ * is created with a size similar to the snapshot one.
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeType: string
* The type of the volume (`standard` \\| `io1` \\| `gp2`). If
- * not specified in the request, a `standard` volume is
- * created.
\nFor more information about volume types, see
- * [About Volumes > Volume Types and
+ * not
+ * specified in the request, a `standard` volume is created.
\nFor more
+ * information about volume types, see [About Volumes > Volume
+ * Types and
*
- * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#
- * _volume_types_and_iops).
- * -DeviceName: string
- * The device name for the volume. For a root device, you must
- * use `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
- * `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X`
- * is a letter between `b` and `z`, and the second `X` is a letter
- * between `a` and `z`).
- * -VirtualDeviceName: string
+ * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
+ * e_ty
+ * pes_and_iops).
+ * --BlockDeviceMappings.INDEX.DeviceName: string
+ * The device name for the volume. For a root device, you must use
+ * `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
+ * `/dev/sdXX`,
+ * `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter
+ * between `b`
+ * and `z`, and the second `X` is a letter between `a` and `z`).
+ * --BlockDeviceMappings.INDEX.VirtualDeviceName: string
* The name of the virtual device (`ephemeralN`).
*/
char *block_device_mappings_str;
int nb_block_device_mappings;
- struct block_device_mapping_image *block_device_mappings; /* array ref BlockDeviceMappingImage */
+ struct block_device_mapping_image *block_device_mappings;
/*
* The date and time (UTC) of creation of the OMI.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The description of the OMI.
*/
- char *description; /* string */
+ char *description;
/*
* The location from which the OMI files were created.
*/
- char *file_location; /* string */
+ char *file_location;
/*
* The ID of the OMI.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* The name of the OMI.
*/
- char *image_name; /* string */
+ char *image_name;
/*
* The type of the OMI.
*/
- char *image_type; /* string */
+ char *image_type;
/*
* Permissions for the resource.
- * -AccountIds: array string
- * One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
- * A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * --PermissionsToLaunch.AccountIds: array string
+ * One or more account IDs that the permission is associated with.
+ * --PermissionsToLaunch.GlobalPermission: bool
+ * A global permission for all accounts.
\n(Request) Set this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is public.
+ * If false,
+ * the resource is private.
*/
char *permissions_to_launch_str;
int is_set_permissions_to_launch;
- struct permissions_on_resource permissions_to_launch; /* ref PermissionsOnResource */
+ struct permissions_on_resource permissions_to_launch;
/*
* The product codes associated with the OMI.
*/
char *product_codes_str;
- char **product_codes; /* array string */
+ char **product_codes;
/*
* The name of the root device.
*/
- char *root_device_name; /* string */
+ char *root_device_name;
/*
* The type of root device used by the OMI (always `bsu`).
*/
- char *root_device_type; /* string */
+ char *root_device_type;
/*
* The state of the OMI (`pending` \\| `available` \\| `failed`).
*/
- char *state; /* string */
+ char *state;
/*
* Information about the change of state.
- * -StateCode: string
+ * --StateComment.StateCode: string
* The code of the change of state.
- * -StateMessage: string
+ * --StateComment.StateMessage: string
* A message explaining the change of state.
*/
char *state_comment_str;
int is_set_state_comment;
- struct state_comment state_comment; /* ref StateComment */
+ struct state_comment state_comment;
/*
* One or more tags associated with the OMI.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct osu_export_image_export_task {
/*
* The format of the export disk (`qcow2` \\| `raw`).
*/
- char *disk_image_format; /* string */
+ char *disk_image_format;
/*
* The name of the OOS bucket the OMI is exported to.
*/
- char *osu_bucket; /* string */
+ char *osu_bucket;
/*
* The URL of the manifest file.
*/
- char *osu_manifest_url; /* string */
+ char *osu_manifest_url;
/*
* The prefix for the key of the OOS object corresponding to the image.
*/
- char *osu_prefix; /* string */
+ char *osu_prefix;
};
struct image_export_task {
/*
* If the OMI export task fails, an error message appears.
*/
- char *comment; /* string */
+ char *comment;
/*
* The ID of the OMI to be exported.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* Information about the OMI export task.
- * -DiskImageFormat: string
+ * --OsuExport.DiskImageFormat: string
* The format of the export disk (`qcow2` \\| `raw`).
- * -OsuBucket: string
+ * --OsuExport.OsuBucket: string
* The name of the OOS bucket the OMI is exported to.
- * -OsuManifestUrl: string
+ * --OsuExport.OsuManifestUrl: string
* The URL of the manifest file.
- * -OsuPrefix: string
+ * --OsuExport.OsuPrefix: string
* The prefix for the key of the OOS object corresponding to the
- * image.
+ * image.
*/
char *osu_export_str;
int is_set_osu_export;
- struct osu_export_image_export_task osu_export; /* ref OsuExportImageExportTask */
+ struct osu_export_image_export_task osu_export;
/*
* The progress of the OMI export task, as a percentage.
*/
int is_set_progress;
- int progress; /* int */
+ int progress;
/*
* The state of the OMI export task (`pending/queued` \\| `pending` \\|
* `completed` \\| `failed` \\| `cancelled`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the image export task.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the OMI export task.
*/
- char *task_id; /* string */
+ char *task_id;
};
struct inline_policy {
@@ -3562,79 +3597,79 @@ struct inline_policy {
* Information](https://docs.outscale.com/en/userguide/EIM-Reference-Info
* rmation.html).
*/
- char *body; /* string */
+ char *body;
/*
* The name of the policy.
*/
- char *name; /* string */
+ char *name;
};
struct internet_service {
/*
* The ID of the Internet service.
*/
- char *internet_service_id; /* string */
+ char *internet_service_id;
/*
* The ID of the Net attached to the Internet service.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The state of the attachment of the Internet service to the Net
* (always `available`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the Internet service.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct keypair {
/*
* The MD5 public key fingerprint as specified in section 4 of RFC 4716.
*/
- char *keypair_fingerprint; /* string */
+ char *keypair_fingerprint;
/*
* The name of the keypair.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The type of the keypair (`ssh-rsa`, `ssh-ed25519`,
* `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or
* `ecdsa-sha2-nistp521`).
*/
- char *keypair_type; /* string */
+ char *keypair_type;
};
struct keypair_created {
/*
* The MD5 public key fingerprint, as specified in section 4 of RFC 4716.
*/
- char *keypair_fingerprint; /* string */
+ char *keypair_fingerprint;
/*
* The name of the keypair.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The type of the keypair (`ssh-rsa`, `ssh-ed25519`,
* `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or
* `ecdsa-sha2-nistp521`).
*/
- char *keypair_type; /* string */
+ char *keypair_type;
/*
* The private key, returned only if you are creating a keypair (not if
* you are importing). When you save this private key in a .rsa file,
* make sure you replace the `\\n` escape sequences with real line
* breaks.
*/
- char *private_key; /* string */
+ char *private_key;
};
struct link_nic {
@@ -3642,30 +3677,30 @@ struct link_nic {
* If true, the NIC is deleted when the VM is terminated.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The device index for the NIC attachment (between `1` and `7`, both
* included).
*/
int is_set_device_number;
- int device_number; /* int */
+ int device_number;
/*
* The ID of the NIC to attach.
*/
- char *link_nic_id; /* string */
+ char *link_nic_id;
/*
* The state of the attachment (`attaching` \\| `attached` \\|
* `detaching` \\| `detached`).
*/
- char *state; /* string */
+ char *state;
/*
* The account ID of the owner of the VM.
*/
- char *vm_account_id; /* string */
+ char *vm_account_id;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct link_nic_light {
@@ -3673,22 +3708,22 @@ struct link_nic_light {
* If true, the NIC is deleted when the VM is terminated.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The device index for the NIC attachment (between `1` and `7`, both
* included).
*/
int is_set_device_number;
- int device_number; /* int */
+ int device_number;
/*
* The ID of the NIC to attach.
*/
- char *link_nic_id; /* string */
+ char *link_nic_id;
/*
* The state of the attachment (`attaching` \\| `attached` \\|
* `detaching` \\| `detached`).
*/
- char *state; /* string */
+ char *state;
};
struct link_nic_to_update {
@@ -3697,11 +3732,11 @@ struct link_nic_to_update {
* NIC is detached from the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The ID of the NIC attachment.
*/
- char *link_nic_id; /* string */
+ char *link_nic_id;
};
struct link_public_ip {
@@ -3709,38 +3744,38 @@ struct link_public_ip {
* (Required in a Net) The ID representing the association of the public
* IP with the VM or the NIC.
*/
- char *link_public_ip_id; /* string */
+ char *link_public_ip_id;
/*
* The name of the public DNS.
*/
- char *public_dns_name; /* string */
+ char *public_dns_name;
/*
* The public IP associated with the NIC.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The account ID of the owner of the public IP.
*/
- char *public_ip_account_id; /* string */
+ char *public_ip_account_id;
/*
* The allocation ID of the public IP.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
};
struct link_public_ip_light_for_vm {
/*
* The name of the public DNS.
*/
- char *public_dns_name; /* string */
+ char *public_dns_name;
/*
* The public IP associated with the NIC.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The account ID of the owner of the public IP.
*/
- char *public_ip_account_id; /* string */
+ char *public_ip_account_id;
};
struct link_route_table {
@@ -3748,52 +3783,52 @@ struct link_route_table {
* The ID of the association between the route table and the Net or
* Subnet.
*/
- char *link_route_table_id; /* string */
+ char *link_route_table_id;
/*
* If true, the route table is the main one.
*/
int is_set_main;
- int main; /* bool */
+ int main;
/*
* The ID of the Net, if the route table is not explicitly linked to a
* Subnet.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the route table.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* The ID of the Subnet, if the route table is explicitly linked to a
* Subnet.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct linked_policy {
/*
* The date and time (UTC) of creation of the linked policy.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The date and time (UTC) at which the linked policy was last modified.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *orn; /* string */
+ char *orn;
/*
* The ID of the policy.
*/
- char *policy_id; /* string */
+ char *policy_id;
/*
* The name of the policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
};
struct linked_volume {
@@ -3802,24 +3837,24 @@ struct linked_volume {
* volume is not deleted when terminating the VM.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The name of the device.
*/
- char *device_name; /* string */
+ char *device_name;
/*
* The state of the attachment of the volume (`attaching` \\|
* `detaching` \\| `attached` \\| `detached`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
/*
* The ID of the volume.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct listener {
@@ -3828,35 +3863,35 @@ struct listener {
* `65535`, both included).
*/
int is_set_backend_port;
- int backend_port; /* int */
+ int backend_port;
/*
* The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS`
* \\| `TCP` \\| `SSL`).
*/
- char *backend_protocol; /* string */
+ char *backend_protocol;
/*
* The port on which the load balancer is listening (between `1` and
* `65535`, both included).
*/
int is_set_load_balancer_port;
- int load_balancer_port; /* int */
+ int load_balancer_port;
/*
* The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).
*/
- char *load_balancer_protocol; /* string */
+ char *load_balancer_protocol;
/*
* The names of the policies. If there are no policies enabled, the list
* is empty.
*/
char *policy_names_str;
- char **policy_names; /* array string */
+ char **policy_names;
/*
* The OUTSCALE Resource Name (ORN) of the server certificate. For more
* information, see [Resource Identifiers > OUTSCALE Resource Names
* (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
* ml#_outscale_resource_names_orns).
*/
- char *server_certificate_id; /* string */
+ char *server_certificate_id;
};
struct listener_for_creation {
@@ -3865,234 +3900,248 @@ struct listener_for_creation {
* `65535`, both included).
*/
int is_set_backend_port;
- int backend_port; /* int */
+ int backend_port;
/*
* The protocol for routing traffic to backend VMs (`HTTP` \\| `HTTPS`
* \\| `TCP` \\| `SSL`).
*/
- char *backend_protocol; /* string */
+ char *backend_protocol;
/*
* The port on which the load balancer is listening (between `1` and
* `65535`, both included).
*/
int is_set_load_balancer_port;
- int load_balancer_port; /* int */
+ int load_balancer_port;
/*
* The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).
*/
- char *load_balancer_protocol; /* string */
+ char *load_balancer_protocol;
/*
* The OUTSCALE Resource Name (ORN) of the server certificate. For more
* information, see [Resource Identifiers > OUTSCALE Resource Names
* (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
* ml#_outscale_resource_names_orns).
*/
- char *server_certificate_id; /* string */
+ char *server_certificate_id;
};
struct listener_rule {
/*
* The type of action for the rule (always `forward`).
*/
- char *action; /* string */
+ char *action;
/*
* A host-name pattern for the rule, with a maximum length of 128
* characters. This host-name pattern supports maximum three wildcards,
* and must not contain any special characters except [-.?].
*/
- char *host_name_pattern; /* string */
+ char *host_name_pattern;
/*
* The ID of the listener.
*/
int is_set_listener_id;
- int listener_id; /* int */
+ int listener_id;
/*
* The ID of the listener rule.
*/
int is_set_listener_rule_id;
- int listener_rule_id; /* int */
+ int listener_rule_id;
/*
* A human-readable name for the listener rule.
*/
- char *listener_rule_name; /* string */
+ char *listener_rule_name;
/*
* A path pattern for the rule, with a maximum length of 128 characters.
* This path pattern supports maximum three wildcards, and must not
* contain any special characters except [_-.$/~"'@:+?].
*/
- char *path_pattern; /* string */
+ char *path_pattern;
/*
* The priority level of the listener rule, between `1` and `19999` both
* included. Each rule must have a unique priority level. Otherwise, an
* error is returned.
*/
int is_set_priority;
- int priority; /* int */
+ int priority;
/*
* The IDs of the backend VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct listener_rule_for_creation {
/*
* The type of action for the rule (always `forward`).
*/
- char *action; /* string */
+ char *action;
/*
* A host-name pattern for the rule, with a maximum length of 128
* characters. This host-name pattern supports maximum three wildcards,
* and must not contain any special characters except [-.?].
*/
- char *host_name_pattern; /* string */
+ char *host_name_pattern;
/*
* A human-readable name for the listener rule.
*/
- char *listener_rule_name; /* string */
+ char *listener_rule_name;
/*
* A path pattern for the rule, with a maximum length of 128 characters.
* This path pattern supports maximum three wildcards, and must not
* contain any special characters except [_-.$/~"'@:+?].
*/
- char *path_pattern; /* string */
+ char *path_pattern;
/*
* The priority level of the listener rule, between `1` and `19999` both
* included. Each rule must have a unique priority level. Otherwise, an
* error is returned.
*/
int is_set_priority;
- int priority; /* int */
+ int priority;
};
struct source_security_group {
/*
* The account ID of the owner of the security group.
*/
- char *security_group_account_id; /* string */
+ char *security_group_account_id;
/*
* The name of the security group.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
};
struct load_balancer {
/*
* Information about access logs.
- * -IsEnabled: bool
+ * --AccessLog.IsEnabled: bool
* If true, access logs are enabled for your load balancer. If
- * false, they are not. If you set this to true in your request,
- * the `OsuBucketName` parameter is required.
- * -OsuBucketName: string
+ * false, they
+ * are not. If you set this to true in your request, the
+ * `OsuBucketName`
+ * parameter is required.
+ * --AccessLog.OsuBucketName: string
* The name of the OOS bucket for the access logs.
- * -OsuBucketPrefix: string
- * The path to the folder of the access logs in your OOS bucket
- * (by default, the `root` level of your bucket).
- * -PublicationInterval: int
- * The time interval for the publication of access logs in the
- * OOS bucket, in minutes. This value can be either `5` or `60`
- * (by default, `60`).
+ * --AccessLog.OsuBucketPrefix: string
+ * The path to the folder of the access logs in your OOS bucket (by
+ * default, the `root` level of your bucket).
+ * --AccessLog.PublicationInterval: int
+ * The time interval for the publication of access logs in the OOS
+ * bucket,
+ * in minutes. This value can be either `5` or `60` (by default,
+ * `60`).
*/
char *access_log_str;
int is_set_access_log;
- struct access_log access_log; /* ref AccessLog */
+ struct access_log access_log;
/*
* The stickiness policies defined for the load balancer.
* Information about the stickiness policy.
- * -CookieName: string
+ * --ApplicationStickyCookiePolicies.INDEX.CookieName: string
* The name of the application cookie used for stickiness.
- * -PolicyName: string
- * The mnemonic name for the policy being created. The name must
- * be unique within a set of policies for this load balancer.
+ * --ApplicationStickyCookiePolicies.INDEX.PolicyName: string
+ * The mnemonic name for the policy being created. The name must be
+ * unique
+ * within a set of policies for this load balancer.
*/
char *application_sticky_cookie_policies_str;
int nb_application_sticky_cookie_policies;
- struct application_sticky_cookie_policy *application_sticky_cookie_policies; /* array ref ApplicationStickyCookiePolicy */
+ struct application_sticky_cookie_policy *application_sticky_cookie_policies;
/*
* One or more public IPs of backend VMs.
*/
char *backend_ips_str;
- char **backend_ips; /* array string */
+ char **backend_ips;
/*
* One or more IDs of backend VMs for the load balancer.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* The DNS name of the load balancer.
*/
- char *dns_name; /* string */
+ char *dns_name;
/*
* Information about the health check configuration.
- * -CheckInterval: int
- * The number of seconds between two requests (between `5` and
- * `600` both included).
- * -HealthyThreshold: int
- * The number of consecutive successful requests before
- * considering the VM as healthy (between `2` and `10` both
+ * --HealthCheck.CheckInterval: int
+ * The number of seconds between two requests (between `5` and `600`
+ * both
* included).
- * -Path: string
+ * --HealthCheck.HealthyThreshold: int
+ * The number of consecutive successful requests before considering
+ * the VM
+ * as healthy (between `2` and `10` both included).
+ * --HealthCheck.Path: string
* If you use the HTTP or HTTPS protocols, the request URL path.
- * -Port: int
+ * --HealthCheck.Port: int
* The port number (between `1` and `65535`, both included).
- * -Protocol: string
- * The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\|
- * `TCP` \\| `SSL`).
- * -Timeout: int
- * The maximum waiting time for a response before considering the
- * VM as unhealthy, in seconds (between `2` and `60` both
- * included).
- * -UnhealthyThreshold: int
- * The number of consecutive failed requests before considering
- * the VM as unhealthy (between `2` and `10` both included).
+ * --HealthCheck.Protocol: string
+ * The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP`
+ * \\|
+ * `SSL`).
+ * --HealthCheck.Timeout: int
+ * The maximum waiting time for a response before considering the VM
+ * as
+ * unhealthy, in seconds (between `2` and `60` both included).
+ * --HealthCheck.UnhealthyThreshold: int
+ * The number of consecutive failed requests before considering the
+ * VM as
+ * unhealthy (between `2` and `10` both included).
*/
char *health_check_str;
int is_set_health_check;
- struct health_check health_check; /* ref HealthCheck */
+ struct health_check health_check;
/*
* The listeners for the load balancer.
* Information about the listener.
- * -BackendPort: int
+ * --Listeners.INDEX.BackendPort: int
* The port on which the backend VM is listening (between `1` and
- * `65535`, both included).
- * -BackendProtocol: string
+ * `65535`,
+ * both included).
+ * --Listeners.INDEX.BackendProtocol: string
* The protocol for routing traffic to backend VMs (`HTTP` \\|
- * `HTTPS` \\| `TCP` \\| `SSL`).
- * -LoadBalancerPort: int
- * The port on which the load balancer is listening (between `1`
- * and `65535`, both included).
- * -LoadBalancerProtocol: string
+ * `HTTPS` \\|
+ * `TCP` \\| `SSL`).
+ * --Listeners.INDEX.LoadBalancerPort: int
+ * The port on which the load balancer is listening (between `1` and
+ * `65535`, both included).
+ * --Listeners.INDEX.LoadBalancerProtocol: string
* The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).
- * -PolicyNames: array string
- * The names of the policies. If there are no policies enabled,
- * the list is empty.
- * -ServerCertificateId: string
- * The OUTSCALE Resource Name (ORN) of the server certificate.
- * For more information, see [Resource Identifiers > OUTSCALE
- * Resource Names
- * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifi
- * ers.html#_outscale_resource_names_orns).
+ * --Listeners.INDEX.PolicyNames: array string
+ * The names of the policies. If there are no policies enabled, the
+ * list is
+ * empty.
+ * --Listeners.INDEX.ServerCertificateId: string
+ * The OUTSCALE Resource Name (ORN) of the server certificate. For
+ * more
+ * information, see [Resource Identifiers > OUTSCALE Resource Names
+ *
+ * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
+ * ml#_
+ * outscale_resource_names_orns).
*/
char *listeners_str;
int nb_listeners;
- struct listener *listeners; /* array ref Listener */
+ struct listener *listeners;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The policies defined for the load balancer.
* Information about the stickiness policy.
- * -CookieExpirationPeriod: int
+ * --LoadBalancerStickyCookiePolicies.INDEX.CookieExpirationPeriod: int
* The time period, in seconds, after which the cookie should be
- * considered stale.
\nIf `1`, the stickiness session lasts
- * for the duration of the browser session.
- * -PolicyName: string
+ * considered
+ * stale.
\nIf `1`, the stickiness session lasts for the
+ * duration of
+ * the browser session.
+ * --LoadBalancerStickyCookiePolicies.INDEX.PolicyName: string
* The name of the stickiness policy.
*/
char *load_balancer_sticky_cookie_policies_str;
int nb_load_balancer_sticky_cookie_policies;
- struct load_balancer_sticky_cookie_policy *load_balancer_sticky_cookie_policies; /* array ref LoadBalancerStickyCookiePolicy */
+ struct load_balancer_sticky_cookie_policy *load_balancer_sticky_cookie_policies;
/*
* The type of load balancer. Valid only for load balancers in a Net.
\nIf `LoadBalancerType` is `internet-facing`, the load balancer has
@@ -4100,75 +4149,77 @@ struct load_balancer {
* `LoadBalancerType` is `internal`, the load balancer has a public DNS
* name that resolves to a private IP.
*/
- char *load_balancer_type; /* string */
+ char *load_balancer_type;
/*
* The ID of the Net for the load balancer.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* (internet-facing only) The public IP associated with the load
* balancer.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* Whether secure cookies are enabled for the load balancer.
*/
int is_set_secured_cookies;
- int secured_cookies; /* bool */
+ int secured_cookies;
/*
* One or more IDs of security groups for the load balancers. Valid only
* for load balancers in a Net.
*/
char *security_groups_str;
- char **security_groups; /* array string */
- /*
- * Information about the source security group of the load
- * balancer, which you can use as part of your inbound rules for
- * your registered VMs.
\nTo only allow traffic from load
- * balancers, add a security group rule that specifies this source
- * security group as the inbound source.
- * -SecurityGroupAccountId: string
+ char **security_groups;
+ /*
+ * Information about the source security group of the load balancer,
+ * which
+ * you can use as part of your inbound rules for your registered
+ * VMs.
\nTo only allow traffic from load balancers, add a security group
+ * rule
+ * that specifies this source security group as the inbound source.
+ * --SourceSecurityGroup.SecurityGroupAccountId: string
* The account ID of the owner of the security group.
- * -SecurityGroupName: string
+ * --SourceSecurityGroup.SecurityGroupName: string
* The name of the security group.
*/
char *source_security_group_str;
int is_set_source_security_group;
- struct source_security_group source_security_group; /* ref SourceSecurityGroup */
+ struct source_security_group source_security_group;
/*
* The ID of the Subnet in which the load balancer was created.
*/
char *subnets_str;
- char **subnets; /* array string */
+ char **subnets;
/*
* The ID of the Subregion in which the load balancer was created.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* One or more tags associated with the load balancer.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct load_balancer_light {
/*
* The name of the load balancer to which the listener is attached.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The port of load balancer on which the load balancer is listening
* (between `1` and `65535` both included).
*/
int is_set_load_balancer_port;
- int load_balancer_port; /* int */
+ int load_balancer_port;
};
struct load_balancer_sticky_cookie_policy {
@@ -4178,26 +4229,26 @@ struct load_balancer_sticky_cookie_policy {
* duration of the browser session.
*/
int is_set_cookie_expiration_period;
- int cookie_expiration_period; /* int */
+ int cookie_expiration_period;
/*
* The name of the stickiness policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
};
struct load_balancer_tag {
/*
* The key of the tag.
*/
- char *key; /* string */
+ char *key;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The value of the tag.
*/
- char *value; /* string */
+ char *value;
};
struct location {
@@ -4205,154 +4256,154 @@ struct location {
* The location code, to be set as the `Location` parameter of the
* *CreateDirectLink* method when creating a DirectLink.
*/
- char *code; /* string */
+ char *code;
/*
* The name and description of the location, corresponding to a
* datacenter.
*/
- char *name; /* string */
+ char *name;
};
struct log {
/*
* The account ID of the logged call.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The duration of the logged call, in microseconds.
*/
int is_set_call_duration;
- int call_duration; /* int */
+ int call_duration;
/*
* The access key used for the logged call.
*/
- char *query_access_key; /* string */
+ char *query_access_key;
/*
* The name of the API used by the logged call (always `oapi` for the
* OUTSCALE API).
*/
- char *query_api_name; /* string */
+ char *query_api_name;
/*
* The version of the API used by the logged call.
*/
- char *query_api_version; /* string */
+ char *query_api_version;
/*
* The name of the logged call.
*/
- char *query_call_name; /* string */
+ char *query_call_name;
/*
* The date and time (UTC) of the logged call.
*/
- char *query_date; /* string */
+ char *query_date;
/*
* The raw header of the HTTP request of the logged call.
*/
- char *query_header_raw; /* string */
+ char *query_header_raw;
/*
* The size of the raw header of the HTTP request of the logged call, in
* bytes.
*/
int is_set_query_header_size;
- int query_header_size; /* int */
+ int query_header_size;
/*
* The IP used for the logged call.
*/
- char *query_ip_address; /* string */
+ char *query_ip_address;
/*
* The raw payload of the HTTP request of the logged call.
*/
- char *query_payload_raw; /* string */
+ char *query_payload_raw;
/*
* The size of the raw payload of the HTTP request of the logged call,
* in bytes.
*/
int is_set_query_payload_size;
- int query_payload_size; /* int */
+ int query_payload_size;
/*
* The user agent of the HTTP request of the logged call.
*/
- char *query_user_agent; /* string */
+ char *query_user_agent;
/*
* The request ID provided in the response of the logged call.
*/
- char *request_id; /* string */
+ char *request_id;
/*
* The size of the response of the logged call, in bytes.
*/
int is_set_response_size;
- int response_size; /* int */
+ int response_size;
/*
* The HTTP status code of the response of the logged call.
*/
int is_set_response_status_code;
- int response_status_code; /* int */
+ int response_status_code;
};
struct maintenance_event {
/*
* The code of the event (`system-reboot` \\| `system-maintenance`).
*/
- char *code; /* string */
+ char *code;
/*
* The description of the event.
*/
- char *description; /* string */
+ char *description;
/*
* The latest scheduled end date and time (UTC) for the event.
*/
- char *not_after; /* string */
+ char *not_after;
/*
* The earliest scheduled start date and time (UTC) for the event.
*/
- char *not_before; /* string */
+ char *not_before;
};
struct nat_service {
/*
* The idempotency token provided when creating the NAT service.
*/
- char *client_token; /* string */
+ char *client_token;
/*
* The ID of the NAT service.
*/
- char *nat_service_id; /* string */
+ char *nat_service_id;
/*
* The ID of the Net in which the NAT service is.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* Information about the public IP or IPs associated with the NAT
* service.
* Information about the public IP.
- * -PublicIp: string
+ * --PublicIps.INDEX.PublicIp: string
* The public IP associated with the NAT service.
- * -PublicIpId: string
+ * --PublicIps.INDEX.PublicIpId: string
* The allocation ID of the public IP associated with the NAT
- * service.
+ * service.
*/
char *public_ips_str;
int nb_public_ips;
- struct public_ip_light *public_ips; /* array ref PublicIpLight */
+ struct public_ip_light *public_ips;
/*
* The state of the NAT service (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the Subnet in which the NAT service is.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* One or more tags associated with the NAT service.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct net {
@@ -4360,304 +4411,307 @@ struct net {
* The ID of the DHCP options set (or `default` if you want to associate
* the default one).
*/
- char *dhcp_options_set_id; /* string */
+ char *dhcp_options_set_id;
/*
* The IP range for the Net, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* The ID of the Net.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The state of the Net (`pending` \\| `available` \\| `deleting`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the Net.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The VM tenancy in a Net.
*/
- char *tenancy; /* string */
+ char *tenancy;
};
struct net_access_point {
/*
* The ID of the Net access point.
*/
- char *net_access_point_id; /* string */
+ char *net_access_point_id;
/*
* The ID of the Net with which the Net access point is associated.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the route tables associated with the Net access point.
*/
char *route_table_ids_str;
- char **route_table_ids; /* array string */
+ char **route_table_ids;
/*
* The name of the service with which the Net access point is associated.
*/
- char *service_name; /* string */
+ char *service_name;
/*
* The state of the Net access point (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the Net access point.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct source_net {
/*
* The account ID of the owner of the source Net.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The IP range for the source Net, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* The ID of the source Net.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct net_peering_state {
/*
* Additional information about the state of the Net peering.
*/
- char *message; /* string */
+ char *message;
/*
* The state of the Net peering (`pending-acceptance` \\| `active` \\|
* `rejected` \\| `failed` \\| `expired` \\| `deleted`).
*/
- char *name; /* string */
+ char *name;
};
struct net_peering {
/*
* Information about the accepter Net.
- * -AccountId: string
+ * --AccepterNet.AccountId: string
* The account ID of the owner of the accepter Net.
- * -IpRange: string
- * The IP range for the accepter Net, in CIDR notation (for
- * example, `10.0.0.0/16`).
- * -NetId: string
+ * --AccepterNet.IpRange: string
+ * The IP range for the accepter Net, in CIDR notation (for example,
+ * `10.0.0.0/16`).
+ * --AccepterNet.NetId: string
* The ID of the accepter Net.
*/
char *accepter_net_str;
int is_set_accepter_net;
- struct accepter_net accepter_net; /* ref AccepterNet */
+ struct accepter_net accepter_net;
/*
* The date and time (UTC) at which the Net peerings expire.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The ID of the Net peering.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
/*
* Information about the source Net.
- * -AccountId: string
+ * --SourceNet.AccountId: string
* The account ID of the owner of the source Net.
- * -IpRange: string
- * The IP range for the source Net, in CIDR notation (for
- * example, `10.0.0.0/16`).
- * -NetId: string
+ * --SourceNet.IpRange: string
+ * The IP range for the source Net, in CIDR notation (for example,
+ * `10.0.0.0/16`).
+ * --SourceNet.NetId: string
* The ID of the source Net.
*/
char *source_net_str;
int is_set_source_net;
- struct source_net source_net; /* ref SourceNet */
+ struct source_net source_net;
/*
* Information about the state of the Net peering.
- * -Message: string
+ * --State.Message: string
* Additional information about the state of the Net peering.
- * -Name: string
- * The state of the Net peering (`pending-acceptance` \\|
- * `active` \\| `rejected` \\| `failed` \\| `expired` \\|
- * `deleted`).
+ * --State.Name: string
+ * The state of the Net peering (`pending-acceptance` \\| `active`
+ * \\|
+ * `rejected` \\| `failed` \\| `expired` \\| `deleted`).
*/
char *state_str;
int is_set_state;
- struct net_peering_state state; /* ref NetPeeringState */
+ struct net_peering_state state;
/*
* One or more tags associated with the Net peering.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct net_to_virtual_gateway_link {
/*
* The ID of the Net to which the virtual gateway is attached.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The state of the attachment (`attaching` \\| `attached` \\|
* `detaching` \\| `detached`).
*/
- char *state; /* string */
+ char *state;
};
struct nic {
/*
* The account ID of the owner of the NIC.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The description of the NIC.
*/
- char *description; /* string */
+ char *description;
/*
* (Net only) If true, the source/destination check is enabled. If
* false, it is disabled. This value must be false for a NAT VM to
* perform network address translation (NAT) in a Net.
*/
int is_set_is_source_dest_checked;
- int is_source_dest_checked; /* bool */
+ int is_source_dest_checked;
/*
* Information about the NIC attachment.
- * -DeleteOnVmDeletion: bool
+ * --LinkNic.DeleteOnVmDeletion: bool
* If true, the NIC is deleted when the VM is terminated.
- * -DeviceNumber: int
+ * --LinkNic.DeviceNumber: int
* The device index for the NIC attachment (between `1` and `7`,
- * both included).
- * -LinkNicId: string
+ * both
+ * included).
+ * --LinkNic.LinkNicId: string
* The ID of the NIC to attach.
- * -State: string
+ * --LinkNic.State: string
* The state of the attachment (`attaching` \\| `attached` \\|
- * `detaching` \\| `detached`).
- * -VmAccountId: string
+ * `detaching`
+ * \\| `detached`).
+ * --LinkNic.VmAccountId: string
* The account ID of the owner of the VM.
- * -VmId: string
+ * --LinkNic.VmId: string
* The ID of the VM.
*/
char *link_nic_str;
int is_set_link_nic;
- struct link_nic link_nic; /* ref LinkNic */
+ struct link_nic link_nic;
/*
* Information about the public IP association.
- * -LinkPublicIpId: string
+ * --LinkPublicIp.LinkPublicIpId: string
* (Required in a Net) The ID representing the association of the
- * public IP with the VM or the NIC.
- * -PublicDnsName: string
+ * public IP
+ * with the VM or the NIC.
+ * --LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -PublicIpId: string
+ * --LinkPublicIp.PublicIpId: string
* The allocation ID of the public IP.
*/
char *link_public_ip_str;
int is_set_link_public_ip;
- struct link_public_ip link_public_ip; /* ref LinkPublicIp */
+ struct link_public_ip link_public_ip;
/*
* The Media Access Control (MAC) address of the NIC.
*/
- char *mac_address; /* string */
+ char *mac_address;
/*
* The ID of the Net for the NIC.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The name of the private DNS.
*/
- char *private_dns_name; /* string */
+ char *private_dns_name;
/*
* The private IPs of the NIC.
* Information about the private IP.
- * -IsPrimary: bool
+ * --PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -LinkPublicIp: ref LinkPublicIp
+ * --PrivateIps.INDEX.LinkPublicIp: ref LinkPublicIp
* Information about the public IP association.
- * -LinkPublicIpId: string
+ * --PrivateIps.INDEX.LinkPublicIp.LinkPublicIpId: string
* (Required in a Net) The ID representing the association of
- * the
- * public IP with the VM or the NIC.
- * -PublicDnsName: string
+ * the public IP
+ * with the VM or the NIC.
+ * --PrivateIps.INDEX.LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -PublicIpId: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicIpId: string
* The allocation ID of the public IP.
- * -PrivateDnsName: string
+ * --PrivateIps.INDEX.PrivateDnsName: string
* The name of the private DNS.
- * -PrivateIp: string
+ * --PrivateIps.INDEX.PrivateIp: string
* The private IP of the NIC.
*/
char *private_ips_str;
int nb_private_ips;
- struct private_ip *private_ips; /* array ref PrivateIp */
+ struct private_ip *private_ips;
/*
* One or more IDs of security groups for the NIC.
* Information about the security group.
- * -SecurityGroupId: string
+ * --SecurityGroups.INDEX.SecurityGroupId: string
* The ID of the security group.
- * -SecurityGroupName: string
+ * --SecurityGroups.INDEX.SecurityGroupName: string
* The name of the security group.
*/
char *security_groups_str;
int nb_security_groups;
- struct security_group_light *security_groups; /* array ref SecurityGroupLight */
+ struct security_group_light *security_groups;
/*
* The state of the NIC (`available` \\| `attaching` \\| `in-use` \\|
* `detaching`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the Subnet.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* The Subregion in which the NIC is located.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* One or more tags associated with the NIC.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct nic_for_vm_creation {
@@ -4667,252 +4721,256 @@ struct nic_for_vm_creation {
* an existing NIC, see [UpdateNic](#updatenic).
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* The description of the NIC, if you are creating a NIC when creating
* the VM.
*/
- char *description; /* string */
+ char *description;
/*
* The index of the VM device for the NIC attachment (between `0` and
* `7`, both included). This parameter is required if you create a NIC
* when creating the VM.
*/
int is_set_device_number;
- int device_number; /* int */
+ int device_number;
/*
* The ID of the NIC, if you are attaching an existing NIC when creating
* a VM.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* One or more private IPs to assign to the NIC, if you create a NIC
* when creating a VM. Only one private IP can be the primary private IP.
* Information about the private IP.
- * -IsPrimary: bool
+ * --PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -PrivateIp: string
+ * --PrivateIps.INDEX.PrivateIp: string
* The private IP of the NIC.
*/
char *private_ips_str;
int nb_private_ips;
- struct private_ip_light *private_ips; /* array ref PrivateIpLight */
+ struct private_ip_light *private_ips;
/*
* The number of secondary private IPs, if you create a NIC when
* creating a VM. This parameter cannot be specified if you specified
* more than one private IP in the `PrivateIps` parameter.
*/
int is_set_secondary_private_ip_count;
- int secondary_private_ip_count; /* int */
+ int secondary_private_ip_count;
/*
* One or more IDs of security groups for the NIC, if you create a NIC
* when creating a VM.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The ID of the Subnet for the NIC, if you create a NIC when creating a
* VM. This parameter is required if you create a NIC when creating the
* VM.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct nic_light {
/*
* The account ID of the owner of the NIC.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The description of the NIC.
*/
- char *description; /* string */
+ char *description;
/*
* (Net only) If true, the source/destination check is enabled. If
* false, it is disabled. This value must be false for a NAT VM to
* perform network address translation (NAT) in a Net.
*/
int is_set_is_source_dest_checked;
- int is_source_dest_checked; /* bool */
+ int is_source_dest_checked;
/*
* Information about the network interface card (NIC).
- * -DeleteOnVmDeletion: bool
+ * --LinkNic.DeleteOnVmDeletion: bool
* If true, the NIC is deleted when the VM is terminated.
- * -DeviceNumber: int
+ * --LinkNic.DeviceNumber: int
* The device index for the NIC attachment (between `1` and `7`,
- * both included).
- * -LinkNicId: string
+ * both
+ * included).
+ * --LinkNic.LinkNicId: string
* The ID of the NIC to attach.
- * -State: string
+ * --LinkNic.State: string
* The state of the attachment (`attaching` \\| `attached` \\|
- * `detaching` \\| `detached`).
+ * `detaching`
+ * \\| `detached`).
*/
char *link_nic_str;
int is_set_link_nic;
- struct link_nic_light link_nic; /* ref LinkNicLight */
+ struct link_nic_light link_nic;
/*
* Information about the public IP associated with the NIC.
- * -PublicDnsName: string
+ * --LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
*/
char *link_public_ip_str;
int is_set_link_public_ip;
- struct link_public_ip_light_for_vm link_public_ip; /* ref LinkPublicIpLightForVm */
+ struct link_public_ip_light_for_vm link_public_ip;
/*
* The Media Access Control (MAC) address of the NIC.
*/
- char *mac_address; /* string */
+ char *mac_address;
/*
* The ID of the Net for the NIC.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The name of the private DNS.
*/
- char *private_dns_name; /* string */
+ char *private_dns_name;
/*
* The private IP or IPs of the NIC.
* Information about the private IP of the NIC.
- * -IsPrimary: bool
+ * --PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -LinkPublicIp: ref LinkPublicIpLightForVm
+ * --PrivateIps.INDEX.LinkPublicIp: ref LinkPublicIpLightForVm
* Information about the public IP associated with the NIC.
- * -PublicDnsName: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --PrivateIps.INDEX.LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -PrivateDnsName: string
+ * --PrivateIps.INDEX.PrivateDnsName: string
* The name of the private DNS.
- * -PrivateIp: string
+ * --PrivateIps.INDEX.PrivateIp: string
* The private IP.
*/
char *private_ips_str;
int nb_private_ips;
- struct private_ip_light_for_vm *private_ips; /* array ref PrivateIpLightForVm */
+ struct private_ip_light_for_vm *private_ips;
/*
* One or more IDs of security groups for the NIC.
* Information about the security group.
- * -SecurityGroupId: string
+ * --SecurityGroups.INDEX.SecurityGroupId: string
* The ID of the security group.
- * -SecurityGroupName: string
+ * --SecurityGroups.INDEX.SecurityGroupName: string
* The name of the security group.
*/
char *security_groups_str;
int nb_security_groups;
- struct security_group_light *security_groups; /* array ref SecurityGroupLight */
+ struct security_group_light *security_groups;
/*
* The state of the NIC (`available` \\| `attaching` \\| `in-use` \\|
* `detaching`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the Subnet for the NIC.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osu_api_key {
/*
* The API key of the OOS account that enables you to access the bucket.
*/
- char *api_key_id; /* string */
+ char *api_key_id;
/*
* The secret key of the OOS account that enables you to access the
* bucket.
*/
- char *secret_key; /* string */
+ char *secret_key;
};
struct osu_export_snapshot_export_task {
/*
* The format of the export disk (`qcow2` \\| `raw`).
*/
- char *disk_image_format; /* string */
+ char *disk_image_format;
/*
* The name of the OOS bucket the snapshot is exported to.
*/
- char *osu_bucket; /* string */
+ char *osu_bucket;
/*
* The prefix for the key of the OOS object corresponding to the
* snapshot.
*/
- char *osu_prefix; /* string */
+ char *osu_prefix;
};
struct osu_export_to_create {
/*
* The format of the export disk (`qcow2` \\| `raw`).
*/
- char *disk_image_format; /* string */
+ char *disk_image_format;
/*
* Information about the OOS API key.
- * -ApiKeyId: string
+ * --OsuApiKey.ApiKeyId: string
* The API key of the OOS account that enables you to access the
- * bucket.
- * -SecretKey: string
- * The secret key of the OOS account that enables you to access
- * the bucket.
+ * bucket.
+ * --OsuApiKey.SecretKey: string
+ * The secret key of the OOS account that enables you to access the
+ * bucket.
*/
char *osu_api_key_str;
int is_set_osu_api_key;
- struct osu_api_key osu_api_key; /* ref OsuApiKey */
+ struct osu_api_key osu_api_key;
/*
* The name of the OOS bucket where you want to export the object.
*/
- char *osu_bucket; /* string */
+ char *osu_bucket;
/*
* The URL of the manifest file.
*/
- char *osu_manifest_url; /* string */
+ char *osu_manifest_url;
/*
* The prefix for the key of the OOS object.
*/
- char *osu_prefix; /* string */
+ char *osu_prefix;
};
struct permissions_on_resource_creation {
/*
* Permissions for the resource.
- * -AccountIds: array string
- * One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
- * A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * --Additions.AccountIds: array string
+ * One or more account IDs that the permission is associated with.
+ * --Additions.GlobalPermission: bool
+ * A global permission for all accounts.
\n(Request) Set this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is public.
+ * If false,
+ * the resource is private.
*/
char *additions_str;
int is_set_additions;
- struct permissions_on_resource additions; /* ref PermissionsOnResource */
+ struct permissions_on_resource additions;
/*
* Permissions for the resource.
- * -AccountIds: array string
- * One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
- * A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * --Removals.AccountIds: array string
+ * One or more account IDs that the permission is associated with.
+ * --Removals.GlobalPermission: bool
+ * A global permission for all accounts.
\n(Request) Set this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is public.
+ * If false,
+ * the resource is private.
*/
char *removals_str;
int is_set_removals;
- struct permissions_on_resource removals; /* ref PermissionsOnResource */
+ struct permissions_on_resource removals;
};
struct phase1_options {
@@ -4920,49 +4978,49 @@ struct phase1_options {
* The action to carry out after a Dead Peer Detection (DPD) timeout
* occurs.
*/
- char *dpd_timeout_action; /* string */
+ char *dpd_timeout_action;
/*
* The maximum waiting time for a Dead Peer Detection (DPD) response
* before considering the peer as dead, in seconds.
*/
int is_set_dpd_timeout_seconds;
- int dpd_timeout_seconds; /* int */
+ int dpd_timeout_seconds;
/*
* The Internet Key Exchange (IKE) versions allowed for the VPN tunnel.
*/
char *ike_versions_str;
- char **ike_versions; /* array string */
+ char **ike_versions;
/*
* The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel for
* phase 1.
*/
char *phase1_dh_group_numbers_str;
- int *phase1_dh_group_numbers; /* array integer */
+ int *phase1_dh_group_numbers;
/*
* The encryption algorithms allowed for the VPN tunnel for phase 1.
*/
char *phase1_encryption_algorithms_str;
- char **phase1_encryption_algorithms; /* array string */
+ char **phase1_encryption_algorithms;
/*
* The integrity algorithms allowed for the VPN tunnel for phase 1.
*/
char *phase1_integrity_algorithms_str;
- char **phase1_integrity_algorithms; /* array string */
+ char **phase1_integrity_algorithms;
/*
* The lifetime for phase 1 of the IKE negotiation process, in seconds.
*/
int is_set_phase1_lifetime_seconds;
- int phase1_lifetime_seconds; /* int */
+ int phase1_lifetime_seconds;
/*
* The number of packets in an IKE replay window.
*/
int is_set_replay_window_size;
- int replay_window_size; /* int */
+ int replay_window_size;
/*
* The action to carry out when establishing tunnels for a VPN
* connection.
*/
- char *startup_action; /* string */
+ char *startup_action;
};
struct phase2_options {
@@ -4971,29 +5029,29 @@ struct phase2_options {
* phase 2.
*/
char *phase2_dh_group_numbers_str;
- int *phase2_dh_group_numbers; /* array integer */
+ int *phase2_dh_group_numbers;
/*
* The encryption algorithms allowed for the VPN tunnel for phase 2.
*/
char *phase2_encryption_algorithms_str;
- char **phase2_encryption_algorithms; /* array string */
+ char **phase2_encryption_algorithms;
/*
* The integrity algorithms allowed for the VPN tunnel for phase 2.
*/
char *phase2_integrity_algorithms_str;
- char **phase2_integrity_algorithms; /* array string */
+ char **phase2_integrity_algorithms;
/*
* The lifetime for phase 2 of the Internet Key Exchange (IKE)
* negociation process, in seconds.
*/
int is_set_phase2_lifetime_seconds;
- int phase2_lifetime_seconds; /* int */
+ int phase2_lifetime_seconds;
/*
* The pre-shared key to establish the initial authentication between
* the client gateway and the virtual gateway. This key can contain any
* character except line breaks and double quotes (").
*/
- char *pre_shared_key; /* string */
+ char *pre_shared_key;
};
struct placement {
@@ -5001,60 +5059,60 @@ struct placement {
* The name of the Subregion. If you specify this parameter, you must
* not specify the `Nics` parameter.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The tenancy of the VM (`default`, `dedicated`, or a dedicated group
* ID).
*/
- char *tenancy; /* string */
+ char *tenancy;
};
struct policy {
/*
* The date and time (UTC) of creation of the policy.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* A friendly name for the policy (between 0 and 1000 characters).
*/
- char *description; /* string */
+ char *description;
/*
* Indicates whether the policy can be linked to a group or an EIM user.
*/
int is_set_is_linkable;
- int is_linkable; /* bool */
+ int is_linkable;
/*
* The date and time (UTC) at which the policy was last modified.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *orn; /* string */
+ char *orn;
/*
* The path to the policy.
*/
- char *path; /* string */
+ char *path;
/*
* The ID of the policy default version.
*/
- char *policy_default_version_id; /* string */
+ char *policy_default_version_id;
/*
* The ID of the policy.
*/
- char *policy_id; /* string */
+ char *policy_id;
/*
* The name of the policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
/*
* The number of resources attached to the policy.
*/
int is_set_resources_count;
- int resources_count; /* int */
+ int resources_count;
};
struct policy_version {
@@ -5064,20 +5122,20 @@ struct policy_version {
* Information](https://docs.outscale.com/en/userguide/EIM-Reference-Info
* rmation.html).
*/
- char *body; /* string */
+ char *body;
/*
* The date and time (UTC) of creation of the version.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* If true, the version is the default one.
*/
int is_set_default_version;
- int default_version; /* bool */
+ int default_version;
/*
* The ID of the version.
*/
- char *version_id; /* string */
+ char *version_id;
};
struct private_ip {
@@ -5085,32 +5143,33 @@ struct private_ip {
* If true, the IP is the primary private IP of the NIC.
*/
int is_set_is_primary;
- int is_primary; /* bool */
+ int is_primary;
/*
* Information about the public IP association.
- * -LinkPublicIpId: string
+ * --LinkPublicIp.LinkPublicIpId: string
* (Required in a Net) The ID representing the association of the
- * public IP with the VM or the NIC.
- * -PublicDnsName: string
+ * public IP
+ * with the VM or the NIC.
+ * --LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -PublicIpId: string
+ * --LinkPublicIp.PublicIpId: string
* The allocation ID of the public IP.
*/
char *link_public_ip_str;
int is_set_link_public_ip;
- struct link_public_ip link_public_ip; /* ref LinkPublicIp */
+ struct link_public_ip link_public_ip;
/*
* The name of the private DNS.
*/
- char *private_dns_name; /* string */
+ char *private_dns_name;
/*
* The private IP of the NIC.
*/
- char *private_ip; /* string */
+ char *private_ip;
};
struct private_ip_light {
@@ -5118,11 +5177,11 @@ struct private_ip_light {
* If true, the IP is the primary private IP of the NIC.
*/
int is_set_is_primary;
- int is_primary; /* bool */
+ int is_primary;
/*
* The private IP of the NIC.
*/
- char *private_ip; /* string */
+ char *private_ip;
};
struct private_ip_light_for_vm {
@@ -5130,42 +5189,42 @@ struct private_ip_light_for_vm {
* If true, the IP is the primary private IP of the NIC.
*/
int is_set_is_primary;
- int is_primary; /* bool */
+ int is_primary;
/*
* Information about the public IP associated with the NIC.
- * -PublicDnsName: string
+ * --LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
*/
char *link_public_ip_str;
int is_set_link_public_ip;
- struct link_public_ip_light_for_vm link_public_ip; /* ref LinkPublicIpLightForVm */
+ struct link_public_ip_light_for_vm link_public_ip;
/*
* The name of the private DNS.
*/
- char *private_dns_name; /* string */
+ char *private_dns_name;
/*
* The private IP.
*/
- char *private_ip; /* string */
+ char *private_ip;
};
struct product_type {
/*
* The description of the product type.
*/
- char *description; /* string */
+ char *description;
/*
* The ID of the product type.
*/
- char *product_type_id; /* string */
+ char *product_type_id;
/*
* The vendor of the product type.
*/
- char *vendor; /* string */
+ char *vendor;
};
struct public_ip {
@@ -5173,87 +5232,87 @@ struct public_ip {
* (Required in a Net) The ID representing the association of the public
* IP with the VM or the NIC.
*/
- char *link_public_ip_id; /* string */
+ char *link_public_ip_id;
/*
* The account ID of the owner of the NIC.
*/
- char *nic_account_id; /* string */
+ char *nic_account_id;
/*
* The ID of the NIC the public IP is associated with (if any).
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The private IP associated with the public IP.
*/
- char *private_ip; /* string */
+ char *private_ip;
/*
* The public IP.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The allocation ID of the public IP.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
/*
* One or more tags associated with the public IP.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the VM the public IP is associated with (if any).
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct public_ip_light {
/*
* The public IP associated with the NAT service.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The allocation ID of the public IP associated with the NAT service.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
};
struct quota {
/*
* The account ID of the owner of the quotas.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The description of the quota.
*/
- char *description; /* string */
+ char *description;
/*
* The maximum value of the quota for the account (if there is no limit,
* `0`).
*/
int is_set_max_value;
- int max_value; /* int */
+ int max_value;
/*
* The unique name of the quota.
*/
- char *name; /* string */
+ char *name;
/*
* The group name of the quota.
*/
- char *quota_collection; /* string */
+ char *quota_collection;
/*
* The description of the quota.
*/
- char *short_description; /* string */
+ char *short_description;
/*
* The limit value currently used by the account.
*/
int is_set_used_value;
- int used_value; /* int */
+ int used_value;
};
struct quota_types {
@@ -5261,29 +5320,30 @@ struct quota_types {
* The resource ID if it is a resource-specific quota, `global` if it is
* not.
*/
- char *quota_type; /* string */
+ char *quota_type;
/*
* One or more quotas associated with the account.
* Information about the quota.
- * -AccountId: string
+ * --Quotas.INDEX.AccountId: string
* The account ID of the owner of the quotas.
- * -Description: string
+ * --Quotas.INDEX.Description: string
* The description of the quota.
- * -MaxValue: int
+ * --Quotas.INDEX.MaxValue: int
* The maximum value of the quota for the account (if there is no
- * limit, `0`).
- * -Name: string
+ * limit,
+ * `0`).
+ * --Quotas.INDEX.Name: string
* The unique name of the quota.
- * -QuotaCollection: string
+ * --Quotas.INDEX.QuotaCollection: string
* The group name of the quota.
- * -ShortDescription: string
+ * --Quotas.INDEX.ShortDescription: string
* The description of the quota.
- * -UsedValue: int
+ * --Quotas.INDEX.UsedValue: int
* The limit value currently used by the account.
*/
char *quotas_str;
int nb_quotas;
- struct quota *quotas; /* array ref Quota */
+ struct quota *quotas;
};
struct read_linked_policies_filters {
@@ -5291,7 +5351,7 @@ struct read_linked_policies_filters {
* The path prefix of the policies. If not specified, it is set to a
* slash (`/`).
*/
- char *path_prefix; /* string */
+ char *path_prefix;
};
struct read_policies_filters {
@@ -5299,93 +5359,93 @@ struct read_policies_filters {
* If set to true, lists only the policies attached to a user.
*/
int is_set_only_linked;
- int only_linked; /* bool */
+ int only_linked;
/*
* The path prefix you can use to filter the results. If not specified,
* it is set to a slash (`/`).
*/
- char *path_prefix; /* string */
+ char *path_prefix;
/*
* The scope to filter policies (`OWS` \\| `LOCAL`).
*/
- char *scope; /* string */
+ char *scope;
};
struct region {
/*
* The hostname of the gateway to access the Region.
*/
- char *endpoint; /* string */
+ char *endpoint;
/*
* The administrative name of the Region.
*/
- char *region_name; /* string */
+ char *region_name;
};
struct resource_load_balancer_tag {
/*
* The key of the tag, with a minimum of 1 character.
*/
- char *key; /* string */
+ char *key;
};
struct resource_tag {
/*
* The key of the tag, with a minimum of 1 character.
*/
- char *key; /* string */
+ char *key;
/*
* The value of the tag, between 0 and 255 characters.
*/
- char *value; /* string */
+ char *value;
};
struct route {
/*
* The method used to create the route.
*/
- char *creation_method; /* string */
+ char *creation_method;
/*
* The IP range used for the destination match, in CIDR notation (for
* example, `10.0.0.0/24`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* The ID of the OUTSCALE service.
*/
- char *destination_service_id; /* string */
+ char *destination_service_id;
/*
* The ID of the Internet service or virtual gateway attached to the Net.
*/
- char *gateway_id; /* string */
+ char *gateway_id;
/*
* The ID of a NAT service attached to the Net.
*/
- char *nat_service_id; /* string */
+ char *nat_service_id;
/*
* The ID of the Net access point.
*/
- char *net_access_point_id; /* string */
+ char *net_access_point_id;
/*
* The ID of the Net peering.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
/*
* The ID of the NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The state of a route in the route table (always `active`).
*/
- char *state; /* string */
+ char *state;
/*
* The account ID of the owner of the VM.
*/
- char *vm_account_id; /* string */
+ char *vm_account_id;
/*
* The ID of a VM specified in a route in the table.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct route_light {
@@ -5393,233 +5453,261 @@ struct route_light {
* The IP range used for the destination match, in CIDR notation (for
* example, `10.0.0.0/24`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* The type of route (always `static`).
*/
- char *route_type; /* string */
+ char *route_type;
/*
* The current state of the static route (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
};
struct route_propagating_virtual_gateway {
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct route_table {
/*
* One or more associations between the route table and Subnets.
- * One or more associations between the route table and the
- * Subnets.
- * -LinkRouteTableId: string
- * The ID of the association between the route table and the Net
- * or Subnet.
- * -Main: bool
+ * One or more associations between the route table and the Subnets.
+ * --LinkRouteTables.INDEX.LinkRouteTableId: string
+ * The ID of the association between the route table and the Net or
+ * Subnet.
+ * --LinkRouteTables.INDEX.Main: bool
* If true, the route table is the main one.
- * -NetId: string
- * The ID of the Net, if the route table is not explicitly linked
- * to a Subnet.
- * -RouteTableId: string
+ * --LinkRouteTables.INDEX.NetId: string
+ * The ID of the Net, if the route table is not explicitly linked to
+ * a
+ * Subnet.
+ * --LinkRouteTables.INDEX.RouteTableId: string
* The ID of the route table.
- * -SubnetId: string
- * The ID of the Subnet, if the route table is explicitly linked
- * to a Subnet.
+ * --LinkRouteTables.INDEX.SubnetId: string
+ * The ID of the Subnet, if the route table is explicitly linked to
+ * a
+ * Subnet.
*/
char *link_route_tables_str;
int nb_link_route_tables;
- struct link_route_table *link_route_tables; /* array ref LinkRouteTable */
+ struct link_route_table *link_route_tables;
/*
* The ID of the Net for the route table.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* Information about virtual gateways propagating routes.
* Information about the route propagating virtual gateway.
- * -VirtualGatewayId: string
+ * --RoutePropagatingVirtualGateways.INDEX.VirtualGatewayId: string
* The ID of the virtual gateway.
*/
char *route_propagating_virtual_gateways_str;
int nb_route_propagating_virtual_gateways;
- struct route_propagating_virtual_gateway *route_propagating_virtual_gateways; /* array ref RoutePropagatingVirtualGateway */
+ struct route_propagating_virtual_gateway *route_propagating_virtual_gateways;
/*
* The ID of the route table.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* One or more routes in the route table.
* Information about the route.
- * -CreationMethod: string
+ * --Routes.INDEX.CreationMethod: string
* The method used to create the route.
- * -DestinationIpRange: string
+ * --Routes.INDEX.DestinationIpRange: string
* The IP range used for the destination match, in CIDR notation
- * (for example, `10.0.0.0/24`).
- * -DestinationServiceId: string
+ * (for
+ * example, `10.0.0.0/24`).
+ * --Routes.INDEX.DestinationServiceId: string
* The ID of the OUTSCALE service.
- * -GatewayId: string
- * The ID of the Internet service or virtual gateway attached to
- * the Net.
- * -NatServiceId: string
+ * --Routes.INDEX.GatewayId: string
+ * The ID of the Internet service or virtual gateway attached to the
+ * Net.
+ * --Routes.INDEX.NatServiceId: string
* The ID of a NAT service attached to the Net.
- * -NetAccessPointId: string
+ * --Routes.INDEX.NetAccessPointId: string
* The ID of the Net access point.
- * -NetPeeringId: string
+ * --Routes.INDEX.NetPeeringId: string
* The ID of the Net peering.
- * -NicId: string
+ * --Routes.INDEX.NicId: string
* The ID of the NIC.
- * -State: string
+ * --Routes.INDEX.State: string
* The state of a route in the route table (always `active`).
- * -VmAccountId: string
+ * --Routes.INDEX.VmAccountId: string
* The account ID of the owner of the VM.
- * -VmId: string
+ * --Routes.INDEX.VmId: string
* The ID of a VM specified in a route in the table.
*/
char *routes_str;
int nb_routes;
- struct route *routes; /* array ref Route */
+ struct route *routes;
/*
* One or more tags associated with the route table.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct security_group {
/*
* The account ID that has been granted permission.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The description of the security group.
*/
- char *description; /* string */
+ char *description;
/*
* The inbound rules associated with the security group.
* Information about the security group rule.
- * -FromPortRange: int
- * The beginning of the port range for the TCP and UDP protocols,
- * or an ICMP type number.
- * -IpProtocol: string
+ * --InboundRules.INDEX.FromPortRange: int
+ * The beginning of the port range for the TCP and UDP protocols, or
+ * an
+ * ICMP type number.
+ * --InboundRules.INDEX.IpProtocol: string
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
- * protocols). By default, `-1`. In a Net, this can also be an IP
- * protocol number. For more information, see the [IANA.org
- * website](https://www.iana.org/assignments/protocol-numbers/proto
- * col-numbers.xhtml).
- * -IpRanges: array string
+ * protocols).
+ * By default, `-1`. In a Net, this can also be an IP protocol
+ * number. For
+ * more information, see the [IANA.org
+ *
+ * website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
+ * mber
+ * s.xhtml).
+ * --InboundRules.INDEX.IpRanges: array string
* One or more IP ranges for the security group rules, in CIDR
- * notation (for example, `10.0.0.0/16`).
- * -SecurityGroupsMembers: array ref SecurityGroupsMember
+ * notation
+ * (for example, `10.0.0.0/16`).
+ * --InboundRules.INDEX.SecurityGroupsMembers: array ref
+ * SecurityGroupsMember
* Information about one or more source or destination security
- * groups.
+ * groups.
* Information about a source or destination security group.
- * -AccountId: string
+ * --InboundRules.INDEX.SecurityGroupsMembers.INDEX.AccountId:
+ * string
* The account ID that owns the source or destination security
- * group.
- * -SecurityGroupId: string
+ * group.
+ *
+ * --InboundRules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId:
+ * string
* The ID of a source or destination security group that you
- * want
- * to link to the security group of the rule.
- * -SecurityGroupName: string
+ * want to link
+ * to the security group of the rule.
+ *
+ * --InboundRules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName:
+ * string
* (Public Cloud only) The name of a source or destination
- * security group that you want to link to the security group of
- * the rule.
- * -ServiceIds: array string
- * One or more service IDs to allow traffic from a Net to access
- * the corresponding OUTSCALE services. For more information, see
+ * security group
+ * that you want to link to the security group of the rule.
+ * --InboundRules.INDEX.ServiceIds: array string
+ * One or more service IDs to allow traffic from a Net to access the
+ * corresponding OUTSCALE services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
- * -ToPortRange: int
+ * --InboundRules.INDEX.ToPortRange: int
* The end of the port range for the TCP and UDP protocols, or an
- * ICMP code number.
+ * ICMP code
+ * number.
*/
char *inbound_rules_str;
int nb_inbound_rules;
- struct security_group_rule *inbound_rules; /* array ref SecurityGroupRule */
+ struct security_group_rule *inbound_rules;
/*
* The ID of the Net for the security group.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The outbound rules associated with the security group.
* Information about the security group rule.
- * -FromPortRange: int
- * The beginning of the port range for the TCP and UDP protocols,
- * or an ICMP type number.
- * -IpProtocol: string
+ * --OutboundRules.INDEX.FromPortRange: int
+ * The beginning of the port range for the TCP and UDP protocols, or
+ * an
+ * ICMP type number.
+ * --OutboundRules.INDEX.IpProtocol: string
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
- * protocols). By default, `-1`. In a Net, this can also be an IP
- * protocol number. For more information, see the [IANA.org
- * website](https://www.iana.org/assignments/protocol-numbers/proto
- * col-numbers.xhtml).
- * -IpRanges: array string
+ * protocols).
+ * By default, `-1`. In a Net, this can also be an IP protocol
+ * number. For
+ * more information, see the [IANA.org
+ *
+ * website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
+ * mber
+ * s.xhtml).
+ * --OutboundRules.INDEX.IpRanges: array string
* One or more IP ranges for the security group rules, in CIDR
- * notation (for example, `10.0.0.0/16`).
- * -SecurityGroupsMembers: array ref SecurityGroupsMember
+ * notation
+ * (for example, `10.0.0.0/16`).
+ * --OutboundRules.INDEX.SecurityGroupsMembers: array ref
+ * SecurityGroupsMember
* Information about one or more source or destination security
- * groups.
+ * groups.
* Information about a source or destination security group.
- * -AccountId: string
+ * --OutboundRules.INDEX.SecurityGroupsMembers.INDEX.AccountId:
+ * string
* The account ID that owns the source or destination security
- * group.
- * -SecurityGroupId: string
+ * group.
+ *
+ * --OutboundRules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId:
+ * string
* The ID of a source or destination security group that you
- * want
- * to link to the security group of the rule.
- * -SecurityGroupName: string
+ * want to link
+ * to the security group of the rule.
+ *
+ * --OutboundRules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName:
+ * string
* (Public Cloud only) The name of a source or destination
- * security group that you want to link to the security group of
- * the rule.
- * -ServiceIds: array string
- * One or more service IDs to allow traffic from a Net to access
- * the corresponding OUTSCALE services. For more information, see
+ * security group
+ * that you want to link to the security group of the rule.
+ * --OutboundRules.INDEX.ServiceIds: array string
+ * One or more service IDs to allow traffic from a Net to access the
+ * corresponding OUTSCALE services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
- * -ToPortRange: int
+ * --OutboundRules.INDEX.ToPortRange: int
* The end of the port range for the TCP and UDP protocols, or an
- * ICMP code number.
+ * ICMP code
+ * number.
*/
char *outbound_rules_str;
int nb_outbound_rules;
- struct security_group_rule *outbound_rules; /* array ref SecurityGroupRule */
+ struct security_group_rule *outbound_rules;
/*
* The ID of the security group.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* The name of the security group.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
/*
* One or more tags associated with the security group.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct security_group_light {
/*
* The ID of the security group.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* The name of the security group.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
};
struct security_group_rule {
@@ -5628,7 +5716,7 @@ struct security_group_rule {
* ICMP type number.
*/
int is_set_from_port_range;
- int from_port_range; /* int */
+ int from_port_range;
/*
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
* protocols). By default, `-1`. In a Net, this can also be an IP
@@ -5636,90 +5724,90 @@ struct security_group_rule {
* website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
* mbers.xhtml).
*/
- char *ip_protocol; /* string */
+ char *ip_protocol;
/*
* One or more IP ranges for the security group rules, in CIDR notation
* (for example, `10.0.0.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
/*
* Information about one or more source or destination security groups.
* Information about a source or destination security group.
- * -AccountId: string
- * The account ID that owns the source or destination security
- * group.
- * -SecurityGroupId: string
- * The ID of a source or destination security group that you want
- * to link to the security group of the rule.
- * -SecurityGroupName: string
- * (Public Cloud only) The name of a source or destination
- * security group that you want to link to the security group of
- * the rule.
+ * --SecurityGroupsMembers.INDEX.AccountId: string
+ * The account ID that owns the source or destination security group.
+ * --SecurityGroupsMembers.INDEX.SecurityGroupId: string
+ * The ID of a source or destination security group that you want to
+ * link
+ * to the security group of the rule.
+ * --SecurityGroupsMembers.INDEX.SecurityGroupName: string
+ * (Public Cloud only) The name of a source or destination security
+ * group
+ * that you want to link to the security group of the rule.
*/
char *security_groups_members_str;
int nb_security_groups_members;
- struct security_groups_member *security_groups_members; /* array ref SecurityGroupsMember */
+ struct security_groups_member *security_groups_members;
/*
* One or more service IDs to allow traffic from a Net to access the
* corresponding OUTSCALE services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
*/
char *service_ids_str;
- char **service_ids; /* array string */
+ char **service_ids;
/*
* The end of the port range for the TCP and UDP protocols, or an ICMP
* code number.
*/
int is_set_to_port_range;
- int to_port_range; /* int */
+ int to_port_range;
};
struct security_groups_member {
/*
* The account ID that owns the source or destination security group.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The ID of a source or destination security group that you want to
* link to the security group of the rule.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* (Public Cloud only) The name of a source or destination security
* group that you want to link to the security group of the rule.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
};
struct server_certificate {
/*
* The date at which the server certificate expires.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The ID of the server certificate.
*/
- char *id; /* string */
+ char *id;
/*
* The name of the server certificate.
*/
- char *name; /* string */
+ char *name;
/*
* The OUTSCALE Resource Name (ORN) of the server certificate. For more
* information, see [Resource Identifiers > OUTSCALE Resource Names
* (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
* ml#_outscale_resource_names_orns).
*/
- char *orn; /* string */
+ char *orn;
/*
* The path to the server certificate.
*/
- char *path; /* string */
+ char *path;
/*
* The date at which the server certificate has been uploaded.
*/
- char *upload_date; /* string */
+ char *upload_date;
};
struct service {
@@ -5727,134 +5815,135 @@ struct service {
* The list of network prefixes used by the service, in CIDR notation.
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
/*
* The ID of the service.
*/
- char *service_id; /* string */
+ char *service_id;
/*
* The name of the service.
*/
- char *service_name; /* string */
+ char *service_name;
};
struct snapshot {
/*
* The account alias of the owner of the snapshot.
*/
- char *account_alias; /* string */
+ char *account_alias;
/*
* The account ID of the owner of the snapshot.
*/
- char *account_id; /* string */
+ char *account_id;
/*
* The date and time (UTC) of creation of the snapshot.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The description of the snapshot.
*/
- char *description; /* string */
+ char *description;
/*
* Permissions for the resource.
- * -AccountIds: array string
- * One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
- * A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * --PermissionsToCreateVolume.AccountIds: array string
+ * One or more account IDs that the permission is associated with.
+ * --PermissionsToCreateVolume.GlobalPermission: bool
+ * A global permission for all accounts.
\n(Request) Set this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is public.
+ * If false,
+ * the resource is private.
*/
char *permissions_to_create_volume_str;
int is_set_permissions_to_create_volume;
- struct permissions_on_resource permissions_to_create_volume; /* ref PermissionsOnResource */
+ struct permissions_on_resource permissions_to_create_volume;
/*
* The progress of the snapshot, as a percentage.
*/
int is_set_progress;
- int progress; /* int */
+ int progress;
/*
* The ID of the snapshot.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
/*
* The state of the snapshot (`in-queue` \\| `pending` \\| `completed`
* \\| `error` \\| `deleting`)).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the snapshot.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the volume used to create the snapshot.
*/
- char *volume_id; /* string */
+ char *volume_id;
/*
* The size of the volume used to create the snapshot, in gibibytes
* (GiB).
*/
int is_set_volume_size;
- int volume_size; /* int */
+ int volume_size;
};
struct snapshot_export_task {
/*
* If the snapshot export task fails, an error message appears.
*/
- char *comment; /* string */
+ char *comment;
/*
* Information about the snapshot export task.
- * -DiskImageFormat: string
+ * --OsuExport.DiskImageFormat: string
* The format of the export disk (`qcow2` \\| `raw`).
- * -OsuBucket: string
+ * --OsuExport.OsuBucket: string
* The name of the OOS bucket the snapshot is exported to.
- * -OsuPrefix: string
+ * --OsuExport.OsuPrefix: string
* The prefix for the key of the OOS object corresponding to the
- * snapshot.
+ * snapshot.
*/
char *osu_export_str;
int is_set_osu_export;
- struct osu_export_snapshot_export_task osu_export; /* ref OsuExportSnapshotExportTask */
+ struct osu_export_snapshot_export_task osu_export;
/*
* The progress of the snapshot export task, as a percentage.
*/
int is_set_progress;
- int progress; /* int */
+ int progress;
/*
* The ID of the snapshot to be exported.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
/*
* The state of the snapshot export task (`pending` \\| `active` \\|
* `completed` \\| `failed`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the snapshot export task.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the snapshot export task.
*/
- char *task_id; /* string */
+ char *task_id;
};
struct subnet {
@@ -5862,136 +5951,136 @@ struct subnet {
* The number of available IPs in the Subnets.
*/
int is_set_available_ips_count;
- int available_ips_count; /* int */
+ int available_ips_count;
/*
* The IP range in the Subnet, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* If true, a public IP is assigned to the network interface cards
* (NICs) created in the specified Subnet.
*/
int is_set_map_public_ip_on_launch;
- int map_public_ip_on_launch; /* bool */
+ int map_public_ip_on_launch;
/*
* The ID of the Net in which the Subnet is.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The state of the Subnet (`pending` \\| `available` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the Subnet.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* The name of the Subregion in which the Subnet is located.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* One or more tags associated with the Subnet.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct subregion {
/*
* The location code of the Subregion.
*/
- char *location_code; /* string */
+ char *location_code;
/*
* The name of the Region containing the Subregion.
*/
- char *region_name; /* string */
+ char *region_name;
/*
* The state of the Subregion.
*/
- char *state; /* string */
+ char *state;
/*
* The name of the Subregion.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
};
struct tag {
/*
* The key of the tag, with a minimum of 1 character.
*/
- char *key; /* string */
+ char *key;
/*
* The ID of the resource.
*/
- char *resource_id; /* string */
+ char *resource_id;
/*
* The type of the resource.
*/
- char *resource_type; /* string */
+ char *resource_type;
/*
* The value of the tag, between 0 and 255 characters.
*/
- char *value; /* string */
+ char *value;
};
struct user {
/*
* The date and time (UTC) of creation of the EIM user.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The date and time (UTC) of the last modification of the EIM user.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The path to the EIM user.
*/
- char *path; /* string */
+ char *path;
/*
* The ID of the EIM user.
*/
- char *user_id; /* string */
+ char *user_id;
/*
* The name of the EIM user.
*/
- char *user_name; /* string */
+ char *user_name;
};
struct user_group {
/*
* The date and time (UTC) of creation of the user group.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The date and time (UTC) of the last modification of the user group.
*/
- char *last_modification_date; /* string */
+ char *last_modification_date;
/*
* The name of the user group.
*/
- char *name; /* string */
+ char *name;
/*
* The Outscale Resource Name (ORN) of the user group. For more
* information, see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *orn; /* string */
+ char *orn;
/*
* The path to the user group.
*/
- char *path; /* string */
+ char *path;
/*
* The ID of the user group.
*/
- char *user_group_id; /* string */
+ char *user_group_id;
};
struct vgw_telemetry {
@@ -6000,23 +6089,23 @@ struct vgw_telemetry {
* route exchanges.
*/
int is_set_accepted_route_count;
- int accepted_route_count; /* int */
+ int accepted_route_count;
/*
* The date and time (UTC) of the latest state update.
*/
- char *last_state_change_date; /* string */
+ char *last_state_change_date;
/*
* The IP on the OUTSCALE side of the tunnel.
*/
- char *outside_ip_address; /* string */
+ char *outside_ip_address;
/*
* The state of the IPSEC tunnel (`UP` \\| `DOWN`).
*/
- char *state; /* string */
+ char *state;
/*
* A description of the current state of the tunnel.
*/
- char *state_description; /* string */
+ char *state_description;
};
struct virtual_gateway {
@@ -6024,312 +6113,323 @@ struct virtual_gateway {
* The type of VPN connection supported by the virtual gateway (only
* `ipsec.1` is supported).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* The Net to which the virtual gateway is attached.
* Information about the attachment.
- * -NetId: string
+ * --NetToVirtualGatewayLinks.INDEX.NetId: string
* The ID of the Net to which the virtual gateway is attached.
- * -State: string
+ * --NetToVirtualGatewayLinks.INDEX.State: string
* The state of the attachment (`attaching` \\| `attached` \\|
- * `detaching` \\| `detached`).
+ * `detaching`
+ * \\| `detached`).
*/
char *net_to_virtual_gateway_links_str;
int nb_net_to_virtual_gateway_links;
- struct net_to_virtual_gateway_link *net_to_virtual_gateway_links; /* array ref NetToVirtualGatewayLink */
+ struct net_to_virtual_gateway_link *net_to_virtual_gateway_links;
/*
* The state of the virtual gateway (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* One or more tags associated with the virtual gateway.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct vm {
/*
* The architecture of the VM (`i386` \\| `x86_64`).
*/
- char *architecture; /* string */
+ char *architecture;
/*
* The block device mapping of the VM.
* Information about the created block device mapping.
- * -Bsu: ref BsuCreated
+ * --BlockDeviceMappings.INDEX.Bsu: ref BsuCreated
* Information about the created BSU volume.
- * -DeleteOnVmDeletion: bool
+ * --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool
* If true, the volume is deleted when terminating the VM. If
- * false, the volume is not deleted when terminating the VM.
- * -LinkDate: string
+ * false, the
+ * volume is not deleted when terminating the VM.
+ * --BlockDeviceMappings.INDEX.Bsu.LinkDate: string
* The date and time (UTC) of attachment of the volume to the
- * VM,
- * in ISO 8601 date-time format.
- * -State: string
+ * VM, in ISO
+ * 8601 date-time format.
+ * --BlockDeviceMappings.INDEX.Bsu.State: string
* The state of the volume.
- * -VolumeId: string
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeId: string
* The ID of the volume.
- * -DeviceName: string
+ * --BlockDeviceMappings.INDEX.DeviceName: string
* The name of the device.
*/
char *block_device_mappings_str;
int nb_block_device_mappings;
- struct block_device_mapping_created *block_device_mappings; /* array ref BlockDeviceMappingCreated */
+ struct block_device_mapping_created *block_device_mappings;
/*
* This parameter is not available. It is present in our API for the
* sake of historical compatibility with AWS.
*/
int is_set_bsu_optimized;
- int bsu_optimized; /* bool */
+ int bsu_optimized;
/*
* The idempotency token provided when launching the VM.
*/
- char *client_token; /* string */
+ char *client_token;
/*
* The date and time (UTC) of creation of the VM.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* If true, you cannot delete the VM unless you change this parameter
* back to false.
*/
int is_set_deletion_protection;
- int deletion_protection; /* bool */
+ int deletion_protection;
/*
* The hypervisor type of the VMs (`ovm` \\| `xen`).
*/
- char *hypervisor; /* string */
+ char *hypervisor;
/*
* The ID of the OMI used to create the VM.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* (Net only) If true, the source/destination check is enabled. If
* false, it is disabled. This value must be false for a NAT VM to
* perform network address translation (NAT) in a Net.
*/
int is_set_is_source_dest_checked;
- int is_source_dest_checked; /* bool */
+ int is_source_dest_checked;
/*
* The name of the keypair used when launching the VM.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The number for the VM when launching a group of several VMs (for
* example, `0`, `1`, `2`, and so on).
*/
int is_set_launch_number;
- int launch_number; /* int */
+ int launch_number;
/*
* If true, nested virtualization is enabled. If false, it is disabled.
*/
int is_set_nested_virtualization;
- int nested_virtualization; /* bool */
+ int nested_virtualization;
/*
* The ID of the Net in which the VM is running.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* (Net only) The network interface cards (NICs) the VMs are attached to.
* Information about the network interface card (NIC).
- * -AccountId: string
+ * --Nics.INDEX.AccountId: string
* The account ID of the owner of the NIC.
- * -Description: string
+ * --Nics.INDEX.Description: string
* The description of the NIC.
- * -IsSourceDestChecked: bool
- * (Net only) If true, the source/destination check is enabled.
- * If false, it is disabled. This value must be false for a NAT VM
- * to perform network address translation (NAT) in a Net.
- * -LinkNic: ref LinkNicLight
+ * --Nics.INDEX.IsSourceDestChecked: bool
+ * (Net only) If true, the source/destination check is enabled. If
+ * false,
+ * it is disabled. This value must be false for a NAT VM to perform
+ * network
+ * address translation (NAT) in a Net.
+ * --Nics.INDEX.LinkNic: ref LinkNicLight
* Information about the network interface card (NIC).
- * -DeleteOnVmDeletion: bool
+ * --Nics.INDEX.LinkNic.DeleteOnVmDeletion: bool
* If true, the NIC is deleted when the VM is terminated.
- * -DeviceNumber: int
+ * --Nics.INDEX.LinkNic.DeviceNumber: int
* The device index for the NIC attachment (between `1` and `7`,
- * both included).
- * -LinkNicId: string
+ * both
+ * included).
+ * --Nics.INDEX.LinkNic.LinkNicId: string
* The ID of the NIC to attach.
- * -State: string
+ * --Nics.INDEX.LinkNic.State: string
* The state of the attachment (`attaching` \\| `attached` \\|
- * `detaching` \\| `detached`).
- * -LinkPublicIp: ref LinkPublicIpLightForVm
+ * `detaching`
+ * \\| `detached`).
+ * --Nics.INDEX.LinkPublicIp: ref LinkPublicIpLightForVm
* Information about the public IP associated with the NIC.
- * -PublicDnsName: string
+ * --Nics.INDEX.LinkPublicIp.PublicDnsName: string
* The name of the public DNS.
- * -PublicIp: string
+ * --Nics.INDEX.LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ * --Nics.INDEX.LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -MacAddress: string
+ * --Nics.INDEX.MacAddress: string
* The Media Access Control (MAC) address of the NIC.
- * -NetId: string
+ * --Nics.INDEX.NetId: string
* The ID of the Net for the NIC.
- * -NicId: string
+ * --Nics.INDEX.NicId: string
* The ID of the NIC.
- * -PrivateDnsName: string
+ * --Nics.INDEX.PrivateDnsName: string
* The name of the private DNS.
- * -PrivateIps: array ref PrivateIpLightForVm
+ * --Nics.INDEX.PrivateIps: array ref PrivateIpLightForVm
* The private IP or IPs of the NIC.
* Information about the private IP of the NIC.
- * -IsPrimary: bool
+ * --Nics.INDEX.PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -LinkPublicIp: ref LinkPublicIpLightForVm
+ * --Nics.INDEX.PrivateIps.INDEX.LinkPublicIp: ref
+ * LinkPublicIpLightForVm
* Information about the public IP associated with the NIC.
- * -PublicDnsName: string
+ * --Nics.INDEX.PrivateIps.INDEX.LinkPublicIp.PublicDnsName:
+ * string
* The name of the public DNS.
- * -PublicIp: string
+ * --Nics.INDEX.PrivateIps.INDEX.LinkPublicIp.PublicIp: string
* The public IP associated with the NIC.
- * -PublicIpAccountId: string
+ *
+ * --Nics.INDEX.PrivateIps.INDEX.LinkPublicIp.PublicIpAccountId: string
* The account ID of the owner of the public IP.
- * -PrivateDnsName: string
+ * --Nics.INDEX.PrivateIps.INDEX.PrivateDnsName: string
* The name of the private DNS.
- * -PrivateIp: string
+ * --Nics.INDEX.PrivateIps.INDEX.PrivateIp: string
* The private IP.
- * -SecurityGroups: array ref SecurityGroupLight
+ * --Nics.INDEX.SecurityGroups: array ref SecurityGroupLight
* One or more IDs of security groups for the NIC.
* Information about the security group.
- * -SecurityGroupId: string
+ * --Nics.INDEX.SecurityGroups.INDEX.SecurityGroupId: string
* The ID of the security group.
- * -SecurityGroupName: string
+ * --Nics.INDEX.SecurityGroups.INDEX.SecurityGroupName: string
* The name of the security group.
- * -State: string
+ * --Nics.INDEX.State: string
* The state of the NIC (`available` \\| `attaching` \\| `in-use`
- * \\| `detaching`).
- * -SubnetId: string
+ * \\|
+ * `detaching`).
+ * --Nics.INDEX.SubnetId: string
* The ID of the Subnet for the NIC.
*/
char *nics_str;
int nb_nics;
- struct nic_light *nics; /* array ref NicLight */
+ struct nic_light *nics;
/*
* Indicates the operating system (OS) of the VM.
*/
- char *os_family; /* string */
+ char *os_family;
/*
* The performance of the VM (`medium` \\| `high` \\| `highest`).
*/
- char *performance; /* string */
+ char *performance;
/*
* Information about the placement of the VM.
- * -SubregionName: string
+ * --Placement.SubregionName: string
* The name of the Subregion. If you specify this parameter, you
- * must not specify the `Nics` parameter.
- * -Tenancy: string
+ * must not
+ * specify the `Nics` parameter.
+ * --Placement.Tenancy: string
* The tenancy of the VM (`default`, `dedicated`, or a dedicated
- * group ID).
+ * group ID).
*/
char *placement_str;
int is_set_placement;
- struct placement placement; /* ref Placement */
+ struct placement placement;
/*
* The name of the private DNS.
*/
- char *private_dns_name; /* string */
+ char *private_dns_name;
/*
* The primary private IP of the VM.
*/
- char *private_ip; /* string */
+ char *private_ip;
/*
* The product codes associated with the OMI used to create the VM.
*/
char *product_codes_str;
- char **product_codes; /* array string */
+ char **product_codes;
/*
* The name of the public DNS.
*/
- char *public_dns_name; /* string */
+ char *public_dns_name;
/*
* The public IP of the VM.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The reservation ID of the VM.
*/
- char *reservation_id; /* string */
+ char *reservation_id;
/*
* The name of the root device for the VM (for example, `/dev/sda1`).
*/
- char *root_device_name; /* string */
+ char *root_device_name;
/*
* The type of root device used by the VM (always `bsu`).
*/
- char *root_device_type; /* string */
+ char *root_device_type;
/*
* One or more security groups associated with the VM.
* Information about the security group.
- * -SecurityGroupId: string
+ * --SecurityGroups.INDEX.SecurityGroupId: string
* The ID of the security group.
- * -SecurityGroupName: string
+ * --SecurityGroups.INDEX.SecurityGroupName: string
* The name of the security group.
*/
char *security_groups_str;
int nb_security_groups;
- struct security_group_light *security_groups; /* array ref SecurityGroupLight */
+ struct security_group_light *security_groups;
/*
* The state of the VM (`pending` \\| `running` \\| `stopping` \\|
* `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
*/
- char *state; /* string */
+ char *state;
/*
* The reason explaining the current state of the VM.
*/
- char *state_reason; /* string */
+ char *state_reason;
/*
* The ID of the Subnet for the VM.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* One or more tags associated with the VM.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The Base64-encoded MIME user data.
*/
- char *user_data; /* string */
+ char *user_data;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
/*
* The VM behavior when you stop it. If set to `stop`, the VM stops. If
* set to `restart`, the VM stops then automatically restarts. If set to
* `terminate`, the VM stops and is deleted.
*/
- char *vm_initiated_shutdown_behavior; /* string */
+ char *vm_initiated_shutdown_behavior;
/*
* The type of VM. For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
- char *vm_type; /* string */
+ char *vm_type;
};
struct vm_group {
/*
* The date and time (UTC) of creation of the VM group.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The description of the VM group.
*/
- char *description; /* string */
+ char *description;
/*
* The positioning strategy of the VMs on hypervisors. By default, or if
* set to `no-strategy`, TINA determines the most adequate position for
@@ -6338,52 +6438,52 @@ struct vm_group {
* the VMs are deployed on a different hypervisor, which improves fault
* tolerance.
*/
- char *positioning_strategy; /* string */
+ char *positioning_strategy;
/*
* One or more IDs of security groups for the VM group.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
*/
- char *state; /* string */
+ char *state;
/*
* The ID of the Subnet for the VM group.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* One or more tags associated with the VM.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The number of VMs in the VM group.
*/
int is_set_vm_count;
- int vm_count; /* int */
+ int vm_count;
/*
* The ID of the VM group.
*/
- char *vm_group_id; /* string */
+ char *vm_group_id;
/*
* The name of the VM group.
*/
- char *vm_group_name; /* string */
+ char *vm_group_name;
/*
* The IDs of the VMs in the VM group.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
/*
* The ID of the VM template used by the VM group.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
};
struct vm_state {
@@ -6391,49 +6491,47 @@ struct vm_state {
* The current state of the VM (`InService` \\| `OutOfService` \\|
* `Unknown`).
*/
- char *current_state; /* string */
+ char *current_state;
/*
* The previous state of the VM (`InService` \\| `OutOfService` \\|
* `Unknown`).
*/
- char *previous_state; /* string */
+ char *previous_state;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct vm_states {
/*
* One or more scheduled events associated with the VM.
* Information about the maintenance event.
- * -Code: string
- * The code of the event (`system-reboot` \\|
- * `system-maintenance`).
- * -Description: string
+ * --MaintenanceEvents.INDEX.Code: string
+ * The code of the event (`system-reboot` \\| `system-maintenance`).
+ * --MaintenanceEvents.INDEX.Description: string
* The description of the event.
- * -NotAfter: string
+ * --MaintenanceEvents.INDEX.NotAfter: string
* The latest scheduled end date and time (UTC) for the event.
- * -NotBefore: string
- * The earliest scheduled start date and time (UTC) for the
- * event.
+ * --MaintenanceEvents.INDEX.NotBefore: string
+ * The earliest scheduled start date and time (UTC) for the event.
*/
char *maintenance_events_str;
int nb_maintenance_events;
- struct maintenance_event *maintenance_events; /* array ref MaintenanceEvent */
+ struct maintenance_event *maintenance_events;
/*
* The name of the Subregion of the VM.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
/*
* The state of the VM (`pending` \\| `running` \\| `stopping` \\|
* `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
*/
- char *vm_state; /* string */
+ char *vm_state;
};
struct vm_template {
@@ -6441,55 +6539,55 @@ struct vm_template {
* The number of vCores.
*/
int is_set_cpu_cores;
- int cpu_cores; /* int */
+ int cpu_cores;
/*
* The processor generation.
*/
- char *cpu_generation; /* string */
+ char *cpu_generation;
/*
* The performance of the VMs.
*/
- char *cpu_performance; /* string */
+ char *cpu_performance;
/*
* The date and time (UTC) of creation of the VM template.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The description of the VM template.
*/
- char *description; /* string */
+ char *description;
/*
* The ID of the OMI.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* The name of the keypair.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The amount of RAM.
*/
int is_set_ram;
- int ram; /* int */
+ int ram;
/*
* One or more tags associated with the VM template.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the VM template.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
/*
* The name of the VM template.
*/
- char *vm_template_name; /* string */
+ char *vm_template_name;
};
struct vm_type {
@@ -6498,222 +6596,227 @@ struct vm_type {
* sake of historical compatibility with AWS.
*/
int is_set_bsu_optimized;
- int bsu_optimized; /* bool */
+ int bsu_optimized;
/*
* The type of ephemeral storage disk.
*/
- char *ephemerals_type; /* string */
+ char *ephemerals_type;
/*
* The number of Ethernet interface available.
*/
int is_set_eth;
- int eth; /* int */
+ int eth;
/*
* The number of GPU available.
*/
int is_set_gpu;
- int gpu; /* int */
+ int gpu;
/*
* The maximum number of private IPs per network interface card (NIC).
*/
int is_set_max_private_ips;
- int max_private_ips; /* int */
+ int max_private_ips;
/*
* The amount of memory, in gibibytes.
*/
int is_set_memory_size;
- double memory_size; /* double */
+ double memory_size;
/*
* The number of vCores.
*/
int is_set_vcore_count;
- int vcore_count; /* int */
+ int vcore_count;
/*
* The name of the VM type.
*/
- char *vm_type_name; /* string */
+ char *vm_type_name;
/*
* The maximum number of ephemeral storage disks.
*/
int is_set_volume_count;
- int volume_count; /* int */
+ int volume_count;
/*
* The size of one ephemeral storage disk, in gibibytes (GiB).
*/
int is_set_volume_size;
- int volume_size; /* int */
+ int volume_size;
};
struct volume {
/*
* The date and time (UTC) of creation of the volume.
*/
- char *creation_date; /* string */
+ char *creation_date;
/*
* The number of I/O operations per second (IOPS):
\n- For `io1`
* volumes, the number of provisioned IOPS
\n- For `gp2` volumes,
* the baseline performance of the volume
*/
int is_set_iops;
- int iops; /* int */
+ int iops;
/*
* Information about your volume attachment.
* Information about volume attachment.
- * -DeleteOnVmDeletion: bool
- * If true, the volume is deleted when terminating the VM. If
- * false, the volume is not deleted when terminating the VM.
- * -DeviceName: string
+ * --LinkedVolumes.INDEX.DeleteOnVmDeletion: bool
+ * If true, the volume is deleted when terminating the VM. If false,
+ * the
+ * volume is not deleted when terminating the VM.
+ * --LinkedVolumes.INDEX.DeviceName: string
* The name of the device.
- * -State: string
+ * --LinkedVolumes.INDEX.State: string
* The state of the attachment of the volume (`attaching` \\|
- * `detaching` \\| `attached` \\| `detached`).
- * -VmId: string
+ * `detaching`
+ * \\| `attached` \\| `detached`).
+ * --LinkedVolumes.INDEX.VmId: string
* The ID of the VM.
- * -VolumeId: string
+ * --LinkedVolumes.INDEX.VolumeId: string
* The ID of the volume.
*/
char *linked_volumes_str;
int nb_linked_volumes;
- struct linked_volume *linked_volumes; /* array ref LinkedVolume */
+ struct linked_volume *linked_volumes;
/*
* The size of the volume, in gibibytes (GiB).
*/
int is_set_size;
- int size; /* int */
+ int size;
/*
* The snapshot from which the volume was created.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
/*
* The state of the volume (`creating` \\| `available` \\| `in-use` \\|
* `updating` \\| `deleting` \\| `error`).
*/
- char *state; /* string */
+ char *state;
/*
* The Subregion in which the volume was created.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* One or more tags associated with the volume.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the volume.
*/
- char *volume_id; /* string */
+ char *volume_id;
/*
* The type of the volume (`standard` \\| `gp2` \\| `io1`).
*/
- char *volume_type; /* string */
+ char *volume_type;
};
struct vpn_options {
/*
* Information about Phase 1 of the Internet Key Exchange (IKE)
- * negotiation. When Phase 1 finishes successfully, peers proceed
- * to Phase 2 negotiations.
- * -DpdTimeoutAction: string
- * The action to carry out after a Dead Peer Detection (DPD)
- * timeout occurs.
- * -DpdTimeoutSeconds: int
- * The maximum waiting time for a Dead Peer Detection (DPD)
- * response before considering the peer as dead, in seconds.
- * -IkeVersions: array string
+ * negotiation. When Phase 1 finishes successfully, peers proceed to
+ * Phase 2
+ * negotiations.
+ * --Phase1Options.DpdTimeoutAction: string
+ * The action to carry out after a Dead Peer Detection (DPD) timeout
+ * occurs.
+ * --Phase1Options.DpdTimeoutSeconds: int
+ * The maximum waiting time for a Dead Peer Detection (DPD) response
+ * before
+ * considering the peer as dead, in seconds.
+ * --Phase1Options.IkeVersions: array string
* The Internet Key Exchange (IKE) versions allowed for the VPN
- * tunnel.
- * -Phase1DhGroupNumbers: array integer
- * The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 1.
- * -Phase1EncryptionAlgorithms: array string
- * The encryption algorithms allowed for the VPN tunnel for phase
- * 1.
- * -Phase1IntegrityAlgorithms: array string
- * The integrity algorithms allowed for the VPN tunnel for phase
- * 1.
- * -Phase1LifetimeSeconds: int
+ * tunnel.
+ * --Phase1Options.Phase1DhGroupNumbers: array integer
+ * The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel
+ * for
+ * phase 1.
+ * --Phase1Options.Phase1EncryptionAlgorithms: array string
+ * The encryption algorithms allowed for the VPN tunnel for phase 1.
+ * --Phase1Options.Phase1IntegrityAlgorithms: array string
+ * The integrity algorithms allowed for the VPN tunnel for phase 1.
+ * --Phase1Options.Phase1LifetimeSeconds: int
* The lifetime for phase 1 of the IKE negotiation process, in
- * seconds.
- * -ReplayWindowSize: int
+ * seconds.
+ * --Phase1Options.ReplayWindowSize: int
* The number of packets in an IKE replay window.
- * -StartupAction: string
+ * --Phase1Options.StartupAction: string
* The action to carry out when establishing tunnels for a VPN
- * connection.
+ * connection.
*/
char *phase1_options_str;
int is_set_phase1_options;
- struct phase1_options phase1_options; /* ref Phase1Options */
+ struct phase1_options phase1_options;
/*
* Information about Phase 2 of the Internet Key Exchange (IKE)
* negotiation.
- * -Phase2DhGroupNumbers: array integer
- * The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 2.
- * -Phase2EncryptionAlgorithms: array string
- * The encryption algorithms allowed for the VPN tunnel for phase
- * 2.
- * -Phase2IntegrityAlgorithms: array string
- * The integrity algorithms allowed for the VPN tunnel for phase
- * 2.
- * -Phase2LifetimeSeconds: int
+ * --Phase2Options.Phase2DhGroupNumbers: array integer
+ * The Diffie-Hellman (DH) group numbers allowed for the VPN tunnel
+ * for
+ * phase 2.
+ * --Phase2Options.Phase2EncryptionAlgorithms: array string
+ * The encryption algorithms allowed for the VPN tunnel for phase 2.
+ * --Phase2Options.Phase2IntegrityAlgorithms: array string
+ * The integrity algorithms allowed for the VPN tunnel for phase 2.
+ * --Phase2Options.Phase2LifetimeSeconds: int
* The lifetime for phase 2 of the Internet Key Exchange (IKE)
- * negociation process, in seconds.
- * -PreSharedKey: string
+ * negociation
+ * process, in seconds.
+ * --Phase2Options.PreSharedKey: string
* The pre-shared key to establish the initial authentication
- * between the client gateway and the virtual gateway. This key
- * can contain any character except line breaks and double quotes
- * (").
+ * between the
+ * client gateway and the virtual gateway. This key can contain any
+ * character except line breaks and double quotes (").
*/
char *phase2_options_str;
int is_set_phase2_options;
- struct phase2_options phase2_options; /* ref Phase2Options */
+ struct phase2_options phase2_options;
/*
* The range of inside IPs for the tunnel. This must be a /30 CIDR block
* from the 169.254.254.0/24 range.
*/
- char *tunnel_inside_ip_range; /* string */
+ char *tunnel_inside_ip_range;
};
struct vpn_connection {
/*
* Example configuration for the client gateway.
*/
- char *client_gateway_configuration; /* string */
+ char *client_gateway_configuration;
/*
* The ID of the client gateway used on the client end of the connection.
*/
- char *client_gateway_id; /* string */
+ char *client_gateway_id;
/*
* The type of VPN connection (always `ipsec.1`).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* Information about one or more static routes associated with the VPN
* connection, if any.
* Information about the route.
- * -DestinationIpRange: string
+ * --Routes.INDEX.DestinationIpRange: string
* The IP range used for the destination match, in CIDR notation
- * (for example, `10.0.0.0/24`).
- * -RouteType: string
+ * (for
+ * example, `10.0.0.0/24`).
+ * --Routes.INDEX.RouteType: string
* The type of route (always `static`).
- * -State: string
- * The current state of the static route (`pending` \\|
- * `available` \\| `deleting` \\| `deleted`).
+ * --Routes.INDEX.State: string
+ * The current state of the static route (`pending` \\| `available`
+ * \\|
+ * `deleting` \\| `deleted`).
*/
char *routes_str;
int nb_routes;
- struct route_light *routes; /* array ref RouteLight */
+ struct route_light *routes;
/*
* The state of the VPN connection (`pending` \\| `available` \\|
* `deleting` \\| `deleted`).
*/
- char *state; /* string */
+ char *state;
/*
* If false, the VPN connection uses dynamic routing with Border Gateway
* Protocol (BGP). If true, routing is controlled using static routes.
@@ -6722,107 +6825,117 @@ struct vpn_connection {
* [DeleteVpnConnectionRoute](#deletevpnconnectionroute).
*/
int is_set_static_routes_only;
- int static_routes_only; /* bool */
+ int static_routes_only;
/*
* One or more tags associated with the VPN connection.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* Information about the current state of one or more of the VPN tunnels.
* Information about the current state of a VPN tunnel.
- * -AcceptedRouteCount: int
+ * --VgwTelemetries.INDEX.AcceptedRouteCount: int
* The number of routes accepted through BGP (Border Gateway
- * Protocol) route exchanges.
- * -LastStateChangeDate: string
+ * Protocol)
+ * route exchanges.
+ * --VgwTelemetries.INDEX.LastStateChangeDate: string
* The date and time (UTC) of the latest state update.
- * -OutsideIpAddress: string
+ * --VgwTelemetries.INDEX.OutsideIpAddress: string
* The IP on the OUTSCALE side of the tunnel.
- * -State: string
+ * --VgwTelemetries.INDEX.State: string
* The state of the IPSEC tunnel (`UP` \\| `DOWN`).
- * -StateDescription: string
+ * --VgwTelemetries.INDEX.StateDescription: string
* A description of the current state of the tunnel.
*/
char *vgw_telemetries_str;
int nb_vgw_telemetries;
- struct vgw_telemetry *vgw_telemetries; /* array ref VgwTelemetry */
+ struct vgw_telemetry *vgw_telemetries;
/*
* The ID of the virtual gateway used on the OUTSCALE end of the
* connection.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
/*
* The ID of the VPN connection.
*/
- char *vpn_connection_id; /* string */
+ char *vpn_connection_id;
/*
* Information about the VPN options.
- * -Phase1Options: ref Phase1Options
+ * --VpnOptions.Phase1Options: ref Phase1Options
* Information about Phase 1 of the Internet Key Exchange (IKE)
* negotiation. When Phase 1 finishes successfully, peers proceed
- * to Phase 2 negotiations.
- * -DpdTimeoutAction: string
+ * to Phase 2
+ * negotiations.
+ * --VpnOptions.Phase1Options.DpdTimeoutAction: string
* The action to carry out after a Dead Peer Detection (DPD)
- * timeout occurs.
- * -DpdTimeoutSeconds: int
+ * timeout
+ * occurs.
+ * --VpnOptions.Phase1Options.DpdTimeoutSeconds: int
* The maximum waiting time for a Dead Peer Detection (DPD)
- * response before considering the peer as dead, in seconds.
- * -IkeVersions: array string
+ * response before
+ * considering the peer as dead, in seconds.
+ * --VpnOptions.Phase1Options.IkeVersions: array string
* The Internet Key Exchange (IKE) versions allowed for the VPN
- * tunnel.
- * -Phase1DhGroupNumbers: array integer
+ * tunnel.
+ * --VpnOptions.Phase1Options.Phase1DhGroupNumbers: array integer
* The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 1.
- * -Phase1EncryptionAlgorithms: array string
+ * tunnel for
+ * phase 1.
+ * --VpnOptions.Phase1Options.Phase1EncryptionAlgorithms: array
+ * string
* The encryption algorithms allowed for the VPN tunnel for
- * phase
- * 1.
- * -Phase1IntegrityAlgorithms: array string
+ * phase 1.
+ * --VpnOptions.Phase1Options.Phase1IntegrityAlgorithms: array
+ * string
* The integrity algorithms allowed for the VPN tunnel for phase
- * 1.
- * -Phase1LifetimeSeconds: int
+ * 1.
+ * --VpnOptions.Phase1Options.Phase1LifetimeSeconds: int
* The lifetime for phase 1 of the IKE negotiation process, in
- * seconds.
- * -ReplayWindowSize: int
+ * seconds.
+ * --VpnOptions.Phase1Options.ReplayWindowSize: int
* The number of packets in an IKE replay window.
- * -StartupAction: string
+ * --VpnOptions.Phase1Options.StartupAction: string
* The action to carry out when establishing tunnels for a VPN
- * connection.
- * -Phase2Options: ref Phase2Options
+ * connection.
+ * --VpnOptions.Phase2Options: ref Phase2Options
* Information about Phase 2 of the Internet Key Exchange (IKE)
* negotiation.
- * -Phase2DhGroupNumbers: array integer
+ * --VpnOptions.Phase2Options.Phase2DhGroupNumbers: array integer
* The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 2.
- * -Phase2EncryptionAlgorithms: array string
+ * tunnel for
+ * phase 2.
+ * --VpnOptions.Phase2Options.Phase2EncryptionAlgorithms: array
+ * string
* The encryption algorithms allowed for the VPN tunnel for
- * phase
- * 2.
- * -Phase2IntegrityAlgorithms: array string
+ * phase 2.
+ * --VpnOptions.Phase2Options.Phase2IntegrityAlgorithms: array
+ * string
* The integrity algorithms allowed for the VPN tunnel for phase
- * 2.
- * -Phase2LifetimeSeconds: int
+ * 2.
+ * --VpnOptions.Phase2Options.Phase2LifetimeSeconds: int
* The lifetime for phase 2 of the Internet Key Exchange (IKE)
- * negociation process, in seconds.
- * -PreSharedKey: string
+ * negociation
+ * process, in seconds.
+ * --VpnOptions.Phase2Options.PreSharedKey: string
* The pre-shared key to establish the initial authentication
- * between the client gateway and the virtual gateway. This key
- * can contain any character except line breaks and double
- * quotes
- * (").
- * -TunnelInsideIpRange: string
- * The range of inside IPs for the tunnel. This must be a /30
- * CIDR block from the 169.254.254.0/24 range.
+ * between the
+ * client gateway and the virtual gateway. This key can contain
+ * any
+ * character except line breaks and double quotes (").
+ * --VpnOptions.TunnelInsideIpRange: string
+ * The range of inside IPs for the tunnel. This must be a /30 CIDR
+ * block
+ * from the 169.254.254.0/24 range.
*/
char *vpn_options_str;
int is_set_vpn_options;
- struct vpn_options vpn_options; /* ref VpnOptions */
+ struct vpn_options vpn_options;
};
struct with {
@@ -6830,88 +6943,88 @@ struct with {
* By default or if set to true, the account ID is displayed.
*/
int is_set_account_id;
- int account_id; /* bool */
+ int account_id;
/*
* By default or if set to true, the duration of the call is displayed.
*/
int is_set_call_duration;
- int call_duration; /* bool */
+ int call_duration;
/*
* By default or if set to true, the access key is displayed.
*/
int is_set_query_access_key;
- int query_access_key; /* bool */
+ int query_access_key;
/*
* By default or if set to true, the name of the API is displayed.
*/
int is_set_query_api_name;
- int query_api_name; /* bool */
+ int query_api_name;
/*
* By default or if set to true, the version of the API is displayed.
*/
int is_set_query_api_version;
- int query_api_version; /* bool */
+ int query_api_version;
/*
* By default or if set to true, the name of the call is displayed.
*/
int is_set_query_call_name;
- int query_call_name; /* bool */
+ int query_call_name;
/*
* By default or if set to true, the date of the call is displayed.
*/
int is_set_query_date;
- int query_date; /* bool */
+ int query_date;
/*
* By default or if set to true, the raw header of the HTTP request is
* displayed.
*/
int is_set_query_header_raw;
- int query_header_raw; /* bool */
+ int query_header_raw;
/*
* By default or if set to true, the size of the raw header of the HTTP
* request is displayed.
*/
int is_set_query_header_size;
- int query_header_size; /* bool */
+ int query_header_size;
/*
* By default or if set to true, the IP is displayed.
*/
int is_set_query_ip_address;
- int query_ip_address; /* bool */
+ int query_ip_address;
/*
* By default or if set to true, the raw payload of the HTTP request is
* displayed.
*/
int is_set_query_payload_raw;
- int query_payload_raw; /* bool */
+ int query_payload_raw;
/*
* By default or if set to true, the size of the raw payload of the HTTP
* request is displayed.
*/
int is_set_query_payload_size;
- int query_payload_size; /* bool */
+ int query_payload_size;
/*
* By default or if set to true, the user agent of the HTTP request is
* displayed.
*/
int is_set_query_user_agent;
- int query_user_agent; /* bool */
+ int query_user_agent;
/*
* By default or if set to true, the request ID is displayed.
*/
int is_set_request_id;
- int request_id; /* bool */
+ int request_id;
/*
* By default or if set to true, the size of the response is displayed.
*/
int is_set_response_size;
- int response_size; /* bool */
+ int response_size;
/*
* By default or if set to true, the HTTP status code of the response is
* displayed.
*/
int is_set_response_status_code;
- int response_status_code; /* bool */
+ int response_status_code;
};
struct osc_update_vpn_connection_arg {
@@ -6919,83 +7032,92 @@ struct osc_update_vpn_connection_arg {
/*
* The ID of the client gateway.
*/
- char *client_gateway_id; /* string */
+ char *client_gateway_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
/*
* The ID of the VPN connection you want to modify.
*/
- char *vpn_connection_id; /* string */
+ char *vpn_connection_id;
/*
* Information about the VPN options.
- * -Phase1Options: ref Phase1Options
+ * --VpnOptions.Phase1Options: ref Phase1Options
* Information about Phase 1 of the Internet Key Exchange (IKE)
* negotiation. When Phase 1 finishes successfully, peers proceed
- * to Phase 2 negotiations.
- * -DpdTimeoutAction: string
+ * to Phase 2
+ * negotiations.
+ * --VpnOptions.Phase1Options.DpdTimeoutAction: string
* The action to carry out after a Dead Peer Detection (DPD)
- * timeout occurs.
- * -DpdTimeoutSeconds: int
+ * timeout
+ * occurs.
+ * --VpnOptions.Phase1Options.DpdTimeoutSeconds: int
* The maximum waiting time for a Dead Peer Detection (DPD)
- * response before considering the peer as dead, in seconds.
- * -IkeVersions: array string
+ * response before
+ * considering the peer as dead, in seconds.
+ * --VpnOptions.Phase1Options.IkeVersions: array string
* The Internet Key Exchange (IKE) versions allowed for the VPN
- * tunnel.
- * -Phase1DhGroupNumbers: array integer
+ * tunnel.
+ * --VpnOptions.Phase1Options.Phase1DhGroupNumbers: array integer
* The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 1.
- * -Phase1EncryptionAlgorithms: array string
+ * tunnel for
+ * phase 1.
+ * --VpnOptions.Phase1Options.Phase1EncryptionAlgorithms: array
+ * string
* The encryption algorithms allowed for the VPN tunnel for
- * phase
- * 1.
- * -Phase1IntegrityAlgorithms: array string
+ * phase 1.
+ * --VpnOptions.Phase1Options.Phase1IntegrityAlgorithms: array
+ * string
* The integrity algorithms allowed for the VPN tunnel for phase
- * 1.
- * -Phase1LifetimeSeconds: int
+ * 1.
+ * --VpnOptions.Phase1Options.Phase1LifetimeSeconds: int
* The lifetime for phase 1 of the IKE negotiation process, in
- * seconds.
- * -ReplayWindowSize: int
+ * seconds.
+ * --VpnOptions.Phase1Options.ReplayWindowSize: int
* The number of packets in an IKE replay window.
- * -StartupAction: string
+ * --VpnOptions.Phase1Options.StartupAction: string
* The action to carry out when establishing tunnels for a VPN
- * connection.
- * -Phase2Options: ref Phase2Options
+ * connection.
+ * --VpnOptions.Phase2Options: ref Phase2Options
* Information about Phase 2 of the Internet Key Exchange (IKE)
* negotiation.
- * -Phase2DhGroupNumbers: array integer
+ * --VpnOptions.Phase2Options.Phase2DhGroupNumbers: array integer
* The Diffie-Hellman (DH) group numbers allowed for the VPN
- * tunnel for phase 2.
- * -Phase2EncryptionAlgorithms: array string
+ * tunnel for
+ * phase 2.
+ * --VpnOptions.Phase2Options.Phase2EncryptionAlgorithms: array
+ * string
* The encryption algorithms allowed for the VPN tunnel for
- * phase
- * 2.
- * -Phase2IntegrityAlgorithms: array string
+ * phase 2.
+ * --VpnOptions.Phase2Options.Phase2IntegrityAlgorithms: array
+ * string
* The integrity algorithms allowed for the VPN tunnel for phase
- * 2.
- * -Phase2LifetimeSeconds: int
+ * 2.
+ * --VpnOptions.Phase2Options.Phase2LifetimeSeconds: int
* The lifetime for phase 2 of the Internet Key Exchange (IKE)
- * negociation process, in seconds.
- * -PreSharedKey: string
+ * negociation
+ * process, in seconds.
+ * --VpnOptions.Phase2Options.PreSharedKey: string
* The pre-shared key to establish the initial authentication
- * between the client gateway and the virtual gateway. This key
- * can contain any character except line breaks and double
- * quotes
- * (").
- * -TunnelInsideIpRange: string
- * The range of inside IPs for the tunnel. This must be a /30
- * CIDR block from the 169.254.254.0/24 range.
+ * between the
+ * client gateway and the virtual gateway. This key can contain
+ * any
+ * character except line breaks and double quotes (").
+ * --VpnOptions.TunnelInsideIpRange: string
+ * The range of inside IPs for the tunnel. This must be a /30 CIDR
+ * block
+ * from the 169.254.254.0/24 range.
*/
char *vpn_options_str;
int is_set_vpn_options;
- struct vpn_options vpn_options; /* ref VpnOptions */
+ struct vpn_options vpn_options;
};
struct osc_update_volume_arg {
@@ -7005,7 +7127,7 @@ struct osc_update_volume_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* **Cold volume**: the new number of I/O operations per second (IOPS).
* This parameter can be specified only if you update an `io1` volume or
@@ -7017,7 +7139,7 @@ struct osc_update_volume_arg {
* `13000` with a maximum performance ratio of 300 IOPS per gibibyte.
*/
int is_set_iops;
- int iops; /* int */
+ int iops;
/*
* **Cold volume**: the new size of the volume, in gibibytes (GiB). This
* value must be equal to or greater than the current size of the
@@ -7025,18 +7147,18 @@ struct osc_update_volume_arg {
* volume**: you cannot change the size of a hot volume.
*/
int is_set_size;
- int size; /* int */
+ int size;
/*
* The ID of the volume you want to update.
*/
- char *volume_id; /* string */
+ char *volume_id;
/*
* **Cold volume**: the new type of the volume (`standard` \\| `io1` \\|
* `gp2`). This modification is instantaneous. If you update to an `io1`
* volume, you must also specify the `Iops` parameter.
\n**Hot
* volume**: you cannot change the type of a hot volume.
*/
- char *volume_type; /* string */
+ char *volume_type;
};
struct osc_update_vm_template_arg {
@@ -7044,32 +7166,32 @@ struct osc_update_vm_template_arg {
/*
* A new description for the VM template.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* New tags for your VM template.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the VM template you want to update.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
/*
* A new name for your VM template.
*/
- char *vm_template_name; /* string */
+ char *vm_template_name;
};
struct osc_update_vm_group_arg {
@@ -7077,36 +7199,36 @@ struct osc_update_vm_group_arg {
/*
* A new description for the VM group.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* New tags for your VM group.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The ID of the VM group you want to update.
*/
- char *vm_group_id; /* string */
+ char *vm_group_id;
/*
* A new name for your VM group.
*/
- char *vm_group_name; /* string */
+ char *vm_group_name;
/*
* A new VM template ID for your VM group.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
};
struct osc_update_vm_arg {
@@ -7114,56 +7236,56 @@ struct osc_update_vm_arg {
/*
* One or more block device mappings of the VM.
* Information about the block device mapping.
- * -Bsu: ref BsuToUpdateVm
+ * --BlockDeviceMappings.INDEX.Bsu: ref BsuToUpdateVm
* Information about the BSU volume.
- * -DeleteOnVmDeletion: bool
+ * --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool
* If set to true, the volume is deleted when terminating the
- * VM.
- * If set to false, the volume is not deleted when terminating
- * the
- * VM.
- * -VolumeId: string
+ * VM. If set to
+ * false, the volume is not deleted when terminating the VM.
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeId: string
* The ID of the volume.
- * -DeviceName: string
- * The device name for the volume. For a root device, you must
- * use `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
- * `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X`
- * is a letter between `b` and `z`, and the second `X` is a letter
- * between `a` and `z`).
- * -NoDevice: string
- * Removes the device which is included in the block device
- * mapping of the OMI.
- * -VirtualDeviceName: string
+ * --BlockDeviceMappings.INDEX.DeviceName: string
+ * The device name for the volume. For a root device, you must use
+ * `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
+ * `/dev/sdXX`,
+ * `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter
+ * between `b`
+ * and `z`, and the second `X` is a letter between `a` and `z`).
+ * --BlockDeviceMappings.INDEX.NoDevice: string
+ * Removes the device which is included in the block device mapping
+ * of the
+ * OMI.
+ * --BlockDeviceMappings.INDEX.VirtualDeviceName: string
* The name of the virtual device (`ephemeralN`).
*/
char *block_device_mappings_str;
int nb_block_device_mappings;
- struct block_device_mapping_vm_update *block_device_mappings; /* array ref BlockDeviceMappingVmUpdate */
+ struct block_device_mapping_vm_update *block_device_mappings;
/*
* This parameter is not available. It is present in our API for the
* sake of historical compatibility with AWS.
*/
int is_set_bsu_optimized;
- int bsu_optimized; /* bool */
+ int bsu_optimized;
/*
* If true, you cannot delete the VM unless you change this parameter
* back to false.
*/
int is_set_deletion_protection;
- int deletion_protection; /* bool */
+ int deletion_protection;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* (Net only) If true, the source/destination check is enabled. If
* false, it is disabled. This value must be false for a NAT VM to
* perform network address translation (NAT) in a Net.
*/
int is_set_is_source_dest_checked;
- int is_source_dest_checked; /* bool */
+ int is_source_dest_checked;
/*
* The name of a keypair you want to associate with the VM.
\nWhen
* you replace the keypair of a VM with another one, the metadata of the
@@ -7175,41 +7297,41 @@ struct osc_update_vm_arg {
* VM](https://docs.outscale.com/en/userguide/Modifying-the-Keypair-of-a-
* VM.html).
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* (dedicated tenancy only) If true, nested virtualization is enabled.
* If false, it is disabled.
*/
int is_set_nested_virtualization;
- int nested_virtualization; /* bool */
+ int nested_virtualization;
/*
* The performance of the VM (`medium` \\| `high` \\| `highest`).
*/
- char *performance; /* string */
+ char *performance;
/*
* One or more IDs of security groups for the VM.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The Base64-encoded MIME user data, limited to 500 kibibytes (KiB).
*/
- char *user_data; /* string */
+ char *user_data;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
/*
* The VM behavior when you stop it. If set to `stop`, the VM stops. If
* set to `restart`, the VM stops then automatically restarts. If set to
* `terminate`, the VM stops and is terminated.
*/
- char *vm_initiated_shutdown_behavior; /* string */
+ char *vm_initiated_shutdown_behavior;
/*
* The type of VM. For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
- char *vm_type; /* string */
+ char *vm_type;
};
struct osc_update_user_group_arg {
@@ -7219,24 +7341,24 @@ struct osc_update_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A new path for the group. If not specified, it is set to a slash
* (`/`).
*/
- char *new_path; /* string */
+ char *new_path;
/*
* A new name for the user group.
*/
- char *new_user_group_name; /* string */
+ char *new_user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *path; /* string */
+ char *path;
/*
* The name of the group you want to update.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_update_user_arg {
@@ -7246,19 +7368,19 @@ struct osc_update_user_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A new path for the EIM user.
*/
- char *new_path; /* string */
+ char *new_path;
/*
* A new name for the EIM user.
*/
- char *new_user_name; /* string */
+ char *new_user_name;
/*
* The name of the EIM user you want to modify.
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_update_subnet_arg {
@@ -7268,17 +7390,17 @@ struct osc_update_subnet_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* If true, a public IP is assigned to the network interface cards
* (NICs) created in the specified Subnet.
*/
int is_set_map_public_ip_on_launch;
- int map_public_ip_on_launch; /* bool */
+ int map_public_ip_on_launch;
/*
* The ID of the Subnet.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osc_update_snapshot_arg {
@@ -7288,42 +7410,48 @@ struct osc_update_snapshot_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
- * Information about the permissions for the resource.
\nSpecify either the `Additions` or the `Removals` parameter.
- * -Additions: ref PermissionsOnResource
+ * Information about the permissions for the resource.
\nSpecify
+ * either the `Additions` or the `Removals` parameter.
+ * --PermissionsToCreateVolume.Additions: ref PermissionsOnResource
* Permissions for the resource.
- * -AccountIds: array string
+ * --PermissionsToCreateVolume.Additions.AccountIds: array string
* One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
+ * with.
+ * --PermissionsToCreateVolume.Additions.GlobalPermission: bool
* A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
- * -Removals: ref PermissionsOnResource
+ * this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is
+ * public. If false,
+ * the resource is private.
+ * --PermissionsToCreateVolume.Removals: ref PermissionsOnResource
* Permissions for the resource.
- * -AccountIds: array string
+ * --PermissionsToCreateVolume.Removals.AccountIds: array string
* One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
+ * with.
+ * --PermissionsToCreateVolume.Removals.GlobalPermission: bool
* A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is
+ * public. If false,
+ * the resource is private.
*/
char *permissions_to_create_volume_str;
int is_set_permissions_to_create_volume;
- struct permissions_on_resource_creation permissions_to_create_volume; /* ref PermissionsOnResourceCreation */
+ struct permissions_on_resource_creation permissions_to_create_volume;
/*
* The ID of the snapshot.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
};
struct osc_update_server_certificate_arg {
@@ -7333,19 +7461,19 @@ struct osc_update_server_certificate_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the server certificate you want to modify.
*/
- char *name; /* string */
+ char *name;
/*
* A new name for the server certificate.
*/
- char *new_name; /* string */
+ char *new_name;
/*
* A new path for the server certificate.
*/
- char *new_path; /* string */
+ char *new_path;
};
struct osc_update_route_table_link_arg {
@@ -7355,15 +7483,15 @@ struct osc_update_route_table_link_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the current route table link.
*/
- char *link_route_table_id; /* string */
+ char *link_route_table_id;
/*
* The ID of the new route table to associate with the Subnet.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
};
struct osc_update_route_propagation_arg {
@@ -7373,21 +7501,21 @@ struct osc_update_route_propagation_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* If true, a virtual gateway can propagate routes to a specified route
* table of a Net. If false, the propagation is disabled.
*/
int is_set_enable;
- int enable; /* bool */
+ int enable;
/*
* The ID of the route table.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct osc_update_route_arg {
@@ -7396,37 +7524,37 @@ struct osc_update_route_arg {
* The IP range used for the destination match, in CIDR notation (for
* example, `10.0.0.0/24`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of an Internet service or virtual gateway attached to your Net.
*/
- char *gateway_id; /* string */
+ char *gateway_id;
/*
* The ID of a NAT service.
*/
- char *nat_service_id; /* string */
+ char *nat_service_id;
/*
* The ID of a Net peering.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
/*
* The ID of a network interface card (NIC).
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The ID of the route table.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* The ID of a NAT VM in your Net.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_update_nic_arg {
@@ -7434,37 +7562,38 @@ struct osc_update_nic_arg {
/*
* A new description for the NIC.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Information about the NIC attachment. If you are modifying the
- * `DeleteOnVmDeletion` attribute, you must specify the ID of the
- * NIC attachment.
- * -DeleteOnVmDeletion: bool
- * If true, the NIC is deleted when the VM is terminated. If
- * false, the NIC is detached from the VM.
- * -LinkNicId: string
+ * `DeleteOnVmDeletion` attribute, you must specify the ID of the NIC
+ * attachment.
+ * --LinkNic.DeleteOnVmDeletion: bool
+ * If true, the NIC is deleted when the VM is terminated. If false,
+ * the NIC
+ * is detached from the VM.
+ * --LinkNic.LinkNicId: string
* The ID of the NIC attachment.
*/
char *link_nic_str;
int is_set_link_nic;
- struct link_nic_to_update link_nic; /* ref LinkNicToUpdate */
+ struct link_nic_to_update link_nic;
/*
* The ID of the NIC you want to modify.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* One or more IDs of security groups for the NIC.
\nYou must
* specify at least one group, even if you use the default security
* group in the Net.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
};
struct osc_update_net_access_point_arg {
@@ -7474,23 +7603,23 @@ struct osc_update_net_access_point_arg {
* access point.
*/
char *add_route_table_ids_str;
- char **add_route_table_ids; /* array string */
+ char **add_route_table_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net access point.
*/
- char *net_access_point_id; /* string */
+ char *net_access_point_id;
/*
* One or more IDs of route tables to disassociate from the specified
* Net access point.
*/
char *remove_route_table_ids_str;
- char **remove_route_table_ids; /* array string */
+ char **remove_route_table_ids;
};
struct osc_update_net_arg {
@@ -7499,89 +7628,95 @@ struct osc_update_net_arg {
* The ID of the DHCP options set (or `default` if you want to associate
* the default one).
*/
- char *dhcp_options_set_id; /* string */
+ char *dhcp_options_set_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct osc_update_load_balancer_arg {
/* Required: load_balancer_name */
/*
* Information about access logs.
- * -IsEnabled: bool
+ * --AccessLog.IsEnabled: bool
* If true, access logs are enabled for your load balancer. If
- * false, they are not. If you set this to true in your request,
- * the `OsuBucketName` parameter is required.
- * -OsuBucketName: string
+ * false, they
+ * are not. If you set this to true in your request, the
+ * `OsuBucketName`
+ * parameter is required.
+ * --AccessLog.OsuBucketName: string
* The name of the OOS bucket for the access logs.
- * -OsuBucketPrefix: string
- * The path to the folder of the access logs in your OOS bucket
- * (by default, the `root` level of your bucket).
- * -PublicationInterval: int
- * The time interval for the publication of access logs in the
- * OOS bucket, in minutes. This value can be either `5` or `60`
- * (by default, `60`).
+ * --AccessLog.OsuBucketPrefix: string
+ * The path to the folder of the access logs in your OOS bucket (by
+ * default, the `root` level of your bucket).
+ * --AccessLog.PublicationInterval: int
+ * The time interval for the publication of access logs in the OOS
+ * bucket,
+ * in minutes. This value can be either `5` or `60` (by default,
+ * `60`).
*/
char *access_log_str;
int is_set_access_log;
- struct access_log access_log; /* ref AccessLog */
+ struct access_log access_log;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Information about the health check configuration.
- * -CheckInterval: int
- * The number of seconds between two requests (between `5` and
- * `600` both included).
- * -HealthyThreshold: int
- * The number of consecutive successful requests before
- * considering the VM as healthy (between `2` and `10` both
+ * --HealthCheck.CheckInterval: int
+ * The number of seconds between two requests (between `5` and `600`
+ * both
* included).
- * -Path: string
+ * --HealthCheck.HealthyThreshold: int
+ * The number of consecutive successful requests before considering
+ * the VM
+ * as healthy (between `2` and `10` both included).
+ * --HealthCheck.Path: string
* If you use the HTTP or HTTPS protocols, the request URL path.
- * -Port: int
+ * --HealthCheck.Port: int
* The port number (between `1` and `65535`, both included).
- * -Protocol: string
- * The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\|
- * `TCP` \\| `SSL`).
- * -Timeout: int
- * The maximum waiting time for a response before considering the
- * VM as unhealthy, in seconds (between `2` and `60` both
- * included).
- * -UnhealthyThreshold: int
- * The number of consecutive failed requests before considering
- * the VM as unhealthy (between `2` and `10` both included).
+ * --HealthCheck.Protocol: string
+ * The protocol for the URL of the VM (`HTTP` \\| `HTTPS` \\| `TCP`
+ * \\|
+ * `SSL`).
+ * --HealthCheck.Timeout: int
+ * The maximum waiting time for a response before considering the VM
+ * as
+ * unhealthy, in seconds (between `2` and `60` both included).
+ * --HealthCheck.UnhealthyThreshold: int
+ * The number of consecutive failed requests before considering the
+ * VM as
+ * unhealthy (between `2` and `10` both included).
*/
char *health_check_str;
int is_set_health_check;
- struct health_check health_check; /* ref HealthCheck */
+ struct health_check health_check;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The port on which the load balancer is listening (between `1` and
* `65535`, both included). This parameter is required if you want to
* update the server certificate.
*/
int is_set_load_balancer_port;
- int load_balancer_port; /* int */
+ int load_balancer_port;
/*
* The name of the policy you want to enable for the listener.
*/
char *policy_names_str;
- char **policy_names; /* array string */
+ char **policy_names;
/*
* (internet-facing only) The public IP you want to associate with the
* load balancer. The former public IP of the load balancer is then
@@ -7589,12 +7724,12 @@ struct osc_update_load_balancer_arg {
* IP belonged to you, it is disassociated and replaced by a public IP
* owned by 3DS OUTSCALE.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* If true, secure cookies are enabled for the load balancer.
*/
int is_set_secured_cookies;
- int secured_cookies; /* bool */
+ int secured_cookies;
/*
* (Net only) One or more IDs of security groups you want to assign to
* the load balancer. You need to specify the already assigned security
@@ -7603,7 +7738,7 @@ struct osc_update_load_balancer_arg {
* Net is assigned to the load balancer.
*/
char *security_groups_str;
- char **security_groups; /* array string */
+ char **security_groups;
/*
* The OUTSCALE Resource Name (ORN) of the server certificate. For more
* information, see [Resource Identifiers > OUTSCALE Resource Names
@@ -7611,7 +7746,7 @@ struct osc_update_load_balancer_arg {
* ml#_outscale_resource_names_orns). If this parameter is specified,
* you must also specify the `LoadBalancerPort` parameter.
*/
- char *server_certificate_id; /* string */
+ char *server_certificate_id;
};
struct osc_update_listener_rule_arg {
@@ -7621,23 +7756,23 @@ struct osc_update_listener_rule_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A host-name pattern for the rule, with a maximum length of 128
* characters. This host-name pattern supports maximum three wildcards,
* and must not contain any special characters except [-.?].
*/
- char *host_pattern; /* string */
+ char *host_pattern;
/*
* The name of the listener rule.
*/
- char *listener_rule_name; /* string */
+ char *listener_rule_name;
/*
* A path pattern for the rule, with a maximum length of 128 characters.
* This path pattern supports maximum three wildcards, and must not
* contain any special characters except [_-.$/~"'@:+?].
*/
- char *path_pattern; /* string */
+ char *path_pattern;
};
struct osc_update_image_arg {
@@ -7645,48 +7780,54 @@ struct osc_update_image_arg {
/*
* A new description for the image.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the OMI you want to modify.
*/
- char *image_id; /* string */
+ char *image_id;
/*
- * Information about the permissions for the resource.
\nSpecify either the `Additions` or the `Removals` parameter.
- * -Additions: ref PermissionsOnResource
+ * Information about the permissions for the resource.
\nSpecify
+ * either the `Additions` or the `Removals` parameter.
+ * --PermissionsToLaunch.Additions: ref PermissionsOnResource
* Permissions for the resource.
- * -AccountIds: array string
+ * --PermissionsToLaunch.Additions.AccountIds: array string
* One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
+ * with.
+ * --PermissionsToLaunch.Additions.GlobalPermission: bool
* A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
- * -Removals: ref PermissionsOnResource
+ * this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is
+ * public. If false,
+ * the resource is private.
+ * --PermissionsToLaunch.Removals: ref PermissionsOnResource
* Permissions for the resource.
- * -AccountIds: array string
+ * --PermissionsToLaunch.Removals.AccountIds: array string
* One or more account IDs that the permission is associated
- * with.
- * -GlobalPermission: bool
+ * with.
+ * --PermissionsToLaunch.Removals.GlobalPermission: bool
* A global permission for all accounts.
\n(Request) Set
- * this parameter to true to make the resource public (if the
- * parent parameter is `Additions`) or to make the resource
- * private (if the parent parameter is `Removals`).
\n(Response) If true, the resource is public. If false, the
- * resource is private.
+ * this
+ * parameter to true to make the resource public (if the parent
+ * parameter is
+ * `Additions`) or to make the resource private (if the parent
+ * parameter is
+ * `Removals`).
\n(Response) If true, the resource is
+ * public. If false,
+ * the resource is private.
*/
char *permissions_to_launch_str;
int is_set_permissions_to_launch;
- struct permissions_on_resource_creation permissions_to_launch; /* ref PermissionsOnResourceCreation */
+ struct permissions_on_resource_creation permissions_to_launch;
};
struct osc_update_flexible_gpu_arg {
@@ -7695,17 +7836,17 @@ struct osc_update_flexible_gpu_arg {
* If true, the fGPU is deleted when the VM is terminated.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the fGPU you want to modify.
*/
- char *flexible_gpu_id; /* string */
+ char *flexible_gpu_id;
};
struct osc_update_direct_link_interface_arg {
@@ -7713,19 +7854,19 @@ struct osc_update_direct_link_interface_arg {
/*
* The ID of the DirectLink interface you want to update.
*/
- char *direct_link_interface_id; /* string */
+ char *direct_link_interface_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The maximum transmission unit (MTU) of the DirectLink interface, in
* bytes (always `1500`).
*/
int is_set_mtu;
- int mtu; /* int */
+ int mtu;
};
struct osc_update_dedicated_group_arg {
@@ -7733,17 +7874,17 @@ struct osc_update_dedicated_group_arg {
/*
* The ID of the dedicated group you want to update.
*/
- char *dedicated_group_id; /* string */
+ char *dedicated_group_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The new name of the dedicated group.
*/
- char *name; /* string */
+ char *name;
};
struct osc_update_ca_arg {
@@ -7751,17 +7892,17 @@ struct osc_update_ca_arg {
/*
* The ID of the CA.
*/
- char *ca_id; /* string */
+ char *ca_id;
/*
* The description of the CA.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_update_api_access_rule_arg {
@@ -7769,32 +7910,32 @@ struct osc_update_api_access_rule_arg {
/*
* The ID of the API access rule you want to update.
*/
- char *api_access_rule_id; /* string */
+ char *api_access_rule_id;
/*
* One or more IDs of Client Certificate Authorities (CAs).
*/
char *ca_ids_str;
- char **ca_ids; /* array string */
+ char **ca_ids;
/*
* One or more Client Certificate Common Names (CNs).
*/
char *cns_str;
- char **cns; /* array string */
+ char **cns;
/*
* A new description for the API access rule.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
};
struct osc_update_api_access_policy_arg {
@@ -7804,7 +7945,7 @@ struct osc_update_api_access_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The maximum possible lifetime for your access keys, in seconds
* (between `0` and `3153600000`, both included). If set to `O`, your
@@ -7814,7 +7955,7 @@ struct osc_update_api_access_policy_arg {
* lifetime of each access key of your account.
*/
int is_set_max_access_key_expiration_seconds;
- int max_access_key_expiration_seconds; /* int */
+ int max_access_key_expiration_seconds;
/*
* If true, a trusted session is activated, provided that you specify
* the `MaxAccessKeyExpirationSeconds` parameter with a value greater
@@ -7826,7 +7967,7 @@ struct osc_update_api_access_policy_arg {
* ation.html#_multi_factor_authentication).
*/
int is_set_require_trusted_env;
- int require_trusted_env; /* bool */
+ int require_trusted_env;
};
struct osc_update_account_arg {
@@ -7838,62 +7979,62 @@ struct osc_update_account_arg {
* it. To remove all registered additional emails, specify an empty list.
*/
char *additional_emails_str;
- char **additional_emails; /* array string */
+ char **additional_emails;
/*
* The new city of the account owner.
*/
- char *city; /* string */
+ char *city;
/*
* The new name of the company for the account.
*/
- char *company_name; /* string */
+ char *company_name;
/*
* The new country of the account owner.
*/
- char *country; /* string */
+ char *country;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The main email address for the account. This address is used for your
* credentials and notifications.
*/
- char *email; /* string */
+ char *email;
/*
* The new first name of the account owner.
*/
- char *first_name; /* string */
+ char *first_name;
/*
* The new job title of the account owner.
*/
- char *job_title; /* string */
+ char *job_title;
/*
* The new last name of the account owner.
*/
- char *last_name; /* string */
+ char *last_name;
/*
* The new mobile phone number of the account owner.
*/
- char *mobile_number; /* string */
+ char *mobile_number;
/*
* The new landline phone number of the account owner.
*/
- char *phone_number; /* string */
+ char *phone_number;
/*
* The new state/province of the account owner.
*/
- char *state_province; /* string */
+ char *state_province;
/*
* The new value added tax (VAT) number for the account.
*/
- char *vat_number; /* string */
+ char *vat_number;
/*
* The new ZIP code of the city.
*/
- char *zip_code; /* string */
+ char *zip_code;
};
struct osc_update_access_key_arg {
@@ -7901,33 +8042,33 @@ struct osc_update_access_key_arg {
/*
* The ID of the access key.
*/
- char *access_key_id; /* string */
+ char *access_key_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The date and time, or the date, at which you want the access key to
* expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`
* or `2020-06-14`). If not specified, the access key is set to not
* expire.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The new state for the access key (`ACTIVE` \\| `INACTIVE`). When set
* to `ACTIVE`, the access key is enabled and can be used to send
* requests. When set to `INACTIVE`, the access key is disabled.
*/
- char *state; /* string */
+ char *state;
/*
* The name of the EIM user that the access key you want to modify is
* associated with. If you do not specify a user name, this action
* modifies the access key of the user who sends the request (which can
* be the root account).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_unlink_volume_arg {
@@ -7937,17 +8078,17 @@ struct osc_unlink_volume_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Forces the detachment of the volume in case of previous failure.
* Important: This action may damage your data or file systems.
*/
int is_set_force_unlink;
- int force_unlink; /* bool */
+ int force_unlink;
/*
* The ID of the volume you want to detach.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct osc_unlink_virtual_gateway_arg {
@@ -7957,15 +8098,15 @@ struct osc_unlink_virtual_gateway_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net from which you want to detach the virtual gateway.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct osc_unlink_route_table_arg {
@@ -7975,11 +8116,11 @@ struct osc_unlink_route_table_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the association between the route table and the Subnet.
*/
- char *link_route_table_id; /* string */
+ char *link_route_table_id;
};
struct osc_unlink_public_ip_arg {
@@ -7989,18 +8130,18 @@ struct osc_unlink_public_ip_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID representing the association of the public IP with the VM or
* the NIC. This parameter is required unless you use the `PublicIp`
* parameter.
*/
- char *link_public_ip_id; /* string */
+ char *link_public_ip_id;
/*
* The public IP. This parameter is required unless you use the
* `LinkPublicIpId` parameter.
*/
- char *public_ip; /* string */
+ char *public_ip;
};
struct osc_unlink_private_ips_arg {
@@ -8010,16 +8151,16 @@ struct osc_unlink_private_ips_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* One or more secondary private IPs you want to unassign from the NIC.
*/
char *private_ips_str;
- char **private_ips; /* array string */
+ char **private_ips;
};
struct osc_unlink_policy_arg {
@@ -8029,18 +8170,18 @@ struct osc_unlink_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The name of the user you want to detach the policy from.
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_unlink_nic_arg {
@@ -8050,11 +8191,11 @@ struct osc_unlink_nic_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the attachment operation.
*/
- char *link_nic_id; /* string */
+ char *link_nic_id;
};
struct osc_unlink_managed_policy_from_user_group_arg {
@@ -8064,18 +8205,18 @@ struct osc_unlink_managed_policy_from_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The name of the group you want to unlink the policy from.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_unlink_load_balancer_backend_machines_arg {
@@ -8084,22 +8225,22 @@ struct osc_unlink_load_balancer_backend_machines_arg {
* One or more public IPs of backend VMs.
*/
char *backend_ips_str;
- char **backend_ips; /* array string */
+ char **backend_ips;
/*
* One or more IDs of backend VMs.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_unlink_internet_service_arg {
@@ -8109,15 +8250,15 @@ struct osc_unlink_internet_service_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Internet service you want to detach.
*/
- char *internet_service_id; /* string */
+ char *internet_service_id;
/*
* The ID of the Net from which you want to detach the Internet service.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct osc_unlink_flexible_gpu_arg {
@@ -8127,11 +8268,11 @@ struct osc_unlink_flexible_gpu_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the fGPU you want to detach from your VM.
*/
- char *flexible_gpu_id; /* string */
+ char *flexible_gpu_id;
};
struct osc_stop_vms_arg {
@@ -8141,17 +8282,17 @@ struct osc_stop_vms_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Forces the VM to stop.
*/
int is_set_force_stop;
- int force_stop; /* bool */
+ int force_stop;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct osc_start_vms_arg {
@@ -8161,12 +8302,12 @@ struct osc_start_vms_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct osc_set_default_policy_version_arg {
@@ -8177,11 +8318,11 @@ struct osc_set_default_policy_version_arg {
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The ID of the version.
*/
- char *version_id; /* string */
+ char *version_id;
};
struct osc_scale_up_vm_group_arg {
@@ -8191,16 +8332,16 @@ struct osc_scale_up_vm_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The number of VMs you want to add to the VM group.
*/
int is_set_vm_addition;
- int vm_addition; /* int */
+ int vm_addition;
/*
* The ID of the VM group you want to scale up.
*/
- char *vm_group_id; /* string */
+ char *vm_group_id;
};
struct osc_scale_down_vm_group_arg {
@@ -8210,16 +8351,16 @@ struct osc_scale_down_vm_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM group you want to scale down.
*/
- char *vm_group_id; /* string */
+ char *vm_group_id;
/*
* The number of VMs you want to delete from the VM group.
*/
int is_set_vm_subtraction;
- int vm_subtraction; /* int */
+ int vm_subtraction;
};
struct osc_remove_user_from_user_group_arg {
@@ -8229,23 +8370,23 @@ struct osc_remove_user_from_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the group you want to remove the user from.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
/*
* The name of the user you want to remove from the group.
*/
- char *user_name; /* string */
+ char *user_name;
/*
* The path to the user (by default, `/`).
*/
- char *user_path; /* string */
+ char *user_path;
};
struct osc_reject_net_peering_arg {
@@ -8255,11 +8396,11 @@ struct osc_reject_net_peering_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net peering you want to reject.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
};
struct osc_register_vms_in_load_balancer_arg {
@@ -8269,17 +8410,17 @@ struct osc_register_vms_in_load_balancer_arg {
* times has no effect as each backend VM has equal weight.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_reboot_vms_arg {
@@ -8289,12 +8430,12 @@ struct osc_reboot_vms_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more IDs of the VMs you want to reboot.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct osc_read_vpn_connections_arg {
@@ -8304,57 +8445,59 @@ struct osc_read_vpn_connections_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -BgpAsns: array integer
+ * --Filters.BgpAsns: array integer
* The Border Gateway Protocol (BGP) Autonomous System Numbers
- * (ASNs) of the connections.
- * -ClientGatewayIds: array string
+ * (ASNs) of
+ * the connections.
+ * --Filters.ClientGatewayIds: array string
* The IDs of the client gateways.
- * -ConnectionTypes: array string
- * The types of the VPN connections (only `ipsec.1` is
- * supported).
- * -RouteDestinationIpRanges: array string
+ * --Filters.ConnectionTypes: array string
+ * The types of the VPN connections (only `ipsec.1` is supported).
+ * --Filters.RouteDestinationIpRanges: array string
* The destination IP ranges.
- * -States: array string
- * The states of the VPN connections (`pending` \\| `available`
- * \\| `deleting` \\| `deleted`).
- * -StaticRoutesOnly: bool
+ * --Filters.States: array string
+ * The states of the VPN connections (`pending` \\| `available` \\|
+ * `deleting` \\| `deleted`).
+ * --Filters.StaticRoutesOnly: bool
* If false, the VPN connection uses dynamic routing with Border
- * Gateway Protocol (BGP). If true, routing is controlled using
- * static routes. For more information about how to create and
- * delete static routes, see
+ * Gateway
+ * Protocol (BGP). If true, routing is controlled using static
+ * routes. For
+ * more information about how to create and delete static routes,
+ * see
* [CreateVpnConnectionRoute](#createvpnconnectionroute) and
* [DeleteVpnConnectionRoute](#deletevpnconnectionroute).
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the VPN connections.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the VPN connections.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the VPN
* connections, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VirtualGatewayIds: array string
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VirtualGatewayIds: array string
* The IDs of the virtual gateways.
- * -VpnConnectionIds: array string
+ * --Filters.VpnConnectionIds: array string
* The IDs of the VPN connections.
*/
char *filters_str;
int is_set_filters;
- struct filters_vpn_connection filters; /* ref FiltersVpnConnection */
+ struct filters_vpn_connection filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_volumes_arg {
@@ -8364,62 +8507,66 @@ struct osc_read_volumes_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -CreationDates: array string
+ * --Filters.CreationDates: array string
* The dates and times of creation of the volumes, in ISO 8601
- * date-time format (for example, `2020-06-30T00:00:00.000Z`).
- * -LinkVolumeDeleteOnVmDeletion: bool
- * Whether the volumes are deleted or not when terminating the
- * VMs.
- * -LinkVolumeDeviceNames: array string
+ * date-time
+ * format (for example, `2020-06-30T00:00:00.000Z`).
+ * --Filters.LinkVolumeDeleteOnVmDeletion: bool
+ * Whether the volumes are deleted or not when terminating the VMs.
+ * --Filters.LinkVolumeDeviceNames: array string
* The VM device names.
- * -LinkVolumeLinkDates: array string
+ * --Filters.LinkVolumeLinkDates: array string
* The dates and times of creation of the volumes, in ISO 8601
- * date-time format (for example, `2020-06-30T00:00:00.000Z`).
- * -LinkVolumeLinkStates: array string
- * The attachment states of the volumes (`attaching` \\|
- * `detaching` \\| `attached` \\| `detached`).
- * -LinkVolumeVmIds: array string
+ * date-time
+ * format (for example, `2020-06-30T00:00:00.000Z`).
+ * --Filters.LinkVolumeLinkStates: array string
+ * The attachment states of the volumes (`attaching` \\| `detaching`
+ * \\|
+ * `attached` \\| `detached`).
+ * --Filters.LinkVolumeVmIds: array string
* One or more IDs of VMs.
- * -SnapshotIds: array string
+ * --Filters.SnapshotIds: array string
* The snapshots from which the volumes were created.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions in which the volumes were created.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the volumes.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the volumes.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the
- * volumes, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VolumeIds: array string
+ * volumes, in
+ * the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VolumeIds: array string
* The IDs of the volumes.
- * -VolumeSizes: array integer
+ * --Filters.VolumeSizes: array integer
* The sizes of the volumes, in gibibytes (GiB).
- * -VolumeStates: array string
+ * --Filters.VolumeStates: array string
* The states of the volumes (`creating` \\| `available` \\|
- * `in-use` \\| `updating` \\| `deleting` \\| `error`).
- * -VolumeTypes: array string
+ * `in-use` \\|
+ * `updating` \\| `deleting` \\| `error`).
+ * --Filters.VolumeTypes: array string
* The types of the volumes (`standard` \\| `gp2` \\| `io1`).
*/
char *filters_str;
int is_set_filters;
- struct filters_volume filters; /* ref FiltersVolume */
+ struct filters_volume filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_vms_state_arg {
@@ -8429,47 +8576,46 @@ struct osc_read_vms_state_arg {
* false, only includes the status of running VMs.
*/
int is_set_all_vms;
- int all_vms; /* bool */
+ int all_vms;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -MaintenanceEventCodes: array string
+ * --Filters.MaintenanceEventCodes: array string
* The code for the scheduled event (`system-reboot` \\|
* `system-maintenance`).
- * -MaintenanceEventDescriptions: array string
+ * --Filters.MaintenanceEventDescriptions: array string
* The description of the scheduled event.
- * -MaintenanceEventsNotAfter: array string
+ * --Filters.MaintenanceEventsNotAfter: array string
* The latest date and time (UTC) the event can end.
- * -MaintenanceEventsNotBefore: array string
+ * --Filters.MaintenanceEventsNotBefore: array string
* The earliest date and time (UTC) the event can start.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions of the VMs.
- * -VmIds: array string
+ * --Filters.VmIds: array string
* One or more IDs of VMs.
- * -VmStates: array string
- * The states of the VMs (`pending` \\| `running` \\| `stopping`
- * \\| `stopped` \\| `shutting-down` \\| `terminated` \\|
- * `quarantine`).
+ * --Filters.VmStates: array string
+ * The states of the VMs (`pending` \\| `running` \\| `stopping` \\|
+ * `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
*/
char *filters_str;
int is_set_filters;
- struct filters_vms_state filters; /* ref FiltersVmsState */
+ struct filters_vms_state filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_vms_health_arg {
@@ -8478,17 +8624,17 @@ struct osc_read_vms_health_arg {
* One or more IDs of backend VMs.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_read_vms_arg {
@@ -8498,185 +8644,196 @@ struct osc_read_vms_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Architectures: array string
+ * --Filters.Architectures: array string
* The architectures of the VMs (`i386` \\| `x86_64`).
- * -BlockDeviceMappingDeleteOnVmDeletion: bool
+ * --Filters.BlockDeviceMappingDeleteOnVmDeletion: bool
* Whether the BSU volumes are deleted when terminating the VMs.
- * -BlockDeviceMappingDeviceNames: array string
- * The device names for the BSU volumes (in the format
- * `/dev/sdX`, `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).
- * -BlockDeviceMappingLinkDates: array string
+ * --Filters.BlockDeviceMappingDeviceNames: array string
+ * The device names for the BSU volumes (in the format `/dev/sdX`,
+ * `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX`).
+ * --Filters.BlockDeviceMappingLinkDates: array string
* The link dates for the BSU volumes mapped to the VMs (for
- * example, `2016-01-23T18:45:30.000Z`).
- * -BlockDeviceMappingStates: array string
+ * example,
+ * `2016-01-23T18:45:30.000Z`).
+ * --Filters.BlockDeviceMappingStates: array string
* The states for the BSU volumes (`attaching` \\| `attached` \\|
* `detaching` \\| `detached`).
- * -BlockDeviceMappingVolumeIds: array string
+ * --Filters.BlockDeviceMappingVolumeIds: array string
* The volume IDs of the BSU volumes.
- * -ClientTokens: array string
+ * --Filters.ClientTokens: array string
* The idempotency tokens provided when launching the VMs.
- * -CreationDates: array string
+ * --Filters.CreationDates: array string
* The dates when the VMs were launched.
- * -ImageIds: array string
+ * --Filters.ImageIds: array string
* The IDs of the OMIs used to launch the VMs.
- * -IsSourceDestChecked: bool
+ * --Filters.IsSourceDestChecked: bool
* Whether the source/destination checking is enabled (true) or
- * disabled (false).
- * -KeypairNames: array string
+ * disabled
+ * (false).
+ * --Filters.KeypairNames: array string
* The names of the keypairs used when launching the VMs.
- * -LaunchNumbers: array integer
+ * --Filters.LaunchNumbers: array integer
* The numbers for the VMs when launching a group of several VMs
- * (for example, `0`, `1`, `2`, and so on).
- * -Lifecycles: array string
+ * (for
+ * example, `0`, `1`, `2`, and so on).
+ * --Filters.Lifecycles: array string
* Whether the VMs are Spot Instances (spot).
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets in which the VMs are running.
- * -NicAccountIds: array string
+ * --Filters.NicAccountIds: array string
* The IDs of the NICs.
- * -NicDescriptions: array string
+ * --Filters.NicDescriptions: array string
* The descriptions of the NICs.
- * -NicIsSourceDestChecked: bool
+ * --Filters.NicIsSourceDestChecked: bool
* Whether the source/destination checking is enabled (true) or
- * disabled (false).
- * -NicLinkNicDeleteOnVmDeletion: bool
+ * disabled
+ * (false).
+ * --Filters.NicLinkNicDeleteOnVmDeletion: bool
* Whether the NICs are deleted when the VMs they are attached to
- * are deleted.
- * -NicLinkNicDeviceNumbers: array integer
+ * are
+ * deleted.
+ * --Filters.NicLinkNicDeviceNumbers: array integer
* The device numbers the NICs are attached to.
- * -NicLinkNicLinkNicDates: array string
- * The dates and times (UTC) when the NICs were attached to the
- * VMs.
- * -NicLinkNicLinkNicIds: array string
+ * --Filters.NicLinkNicLinkNicDates: array string
+ * The dates and times (UTC) when the NICs were attached to the VMs.
+ * --Filters.NicLinkNicLinkNicIds: array string
* The IDs of the NIC attachments.
- * -NicLinkNicStates: array string
+ * --Filters.NicLinkNicStates: array string
* The states of the attachments.
- * -NicLinkNicVmAccountIds: array string
- * The account IDs of the owners of the VMs the NICs are attached
- * to.
- * -NicLinkNicVmIds: array string
+ * --Filters.NicLinkNicVmAccountIds: array string
+ * The account IDs of the owners of the VMs the NICs are attached to.
+ * --Filters.NicLinkNicVmIds: array string
* The IDs of the VMs the NICs are attached to.
- * -NicLinkPublicIpAccountIds: array string
- * The account IDs of the owners of the public IPs associated
- * with the NICs.
- * -NicLinkPublicIpLinkPublicIpIds: array string
- * The association IDs returned when the public IPs were
- * associated with the NICs.
- * -NicLinkPublicIpPublicIpIds: array string
- * The allocation IDs returned when the public IPs were allocated
- * to their accounts.
- * -NicLinkPublicIpPublicIps: array string
+ * --Filters.NicLinkPublicIpAccountIds: array string
+ * The account IDs of the owners of the public IPs associated with
+ * the
+ * NICs.
+ * --Filters.NicLinkPublicIpLinkPublicIpIds: array string
+ * The association IDs returned when the public IPs were associated
+ * with
+ * the NICs.
+ * --Filters.NicLinkPublicIpPublicIpIds: array string
+ * The allocation IDs returned when the public IPs were allocated to
+ * their
+ * accounts.
+ * --Filters.NicLinkPublicIpPublicIps: array string
* The public IPs associated with the NICs.
- * -NicMacAddresses: array string
+ * --Filters.NicMacAddresses: array string
* The Media Access Control (MAC) addresses of the NICs.
- * -NicNetIds: array string
+ * --Filters.NicNetIds: array string
* The IDs of the Nets where the NICs are located.
- * -NicNicIds: array string
+ * --Filters.NicNicIds: array string
* The IDs of the NICs.
- * -NicPrivateIpsLinkPublicIpAccountIds: array string
+ * --Filters.NicPrivateIpsLinkPublicIpAccountIds: array string
* The account IDs of the owner of the public IPs associated with
- * the private IPs.
- * -NicPrivateIpsLinkPublicIpIds: array string
+ * the
+ * private IPs.
+ * --Filters.NicPrivateIpsLinkPublicIpIds: array string
* The public IPs associated with the private IPs.
- * -NicPrivateIpsPrimaryIp: bool
- * Whether the private IPs are the primary IPs associated with
- * the NICs.
- * -NicPrivateIpsPrivateIps: array string
+ * --Filters.NicPrivateIpsPrimaryIp: bool
+ * Whether the private IPs are the primary IPs associated with the
+ * NICs.
+ * --Filters.NicPrivateIpsPrivateIps: array string
* The private IPs of the NICs.
- * -NicSecurityGroupIds: array string
+ * --Filters.NicSecurityGroupIds: array string
* The IDs of the security groups associated with the NICs.
- * -NicSecurityGroupNames: array string
+ * --Filters.NicSecurityGroupNames: array string
* The names of the security groups associated with the NICs.
- * -NicStates: array string
+ * --Filters.NicStates: array string
* The states of the NICs (`available` \\| `in-use`).
- * -NicSubnetIds: array string
+ * --Filters.NicSubnetIds: array string
* The IDs of the Subnets for the NICs.
- * -NicSubregionNames: array string
+ * --Filters.NicSubregionNames: array string
* The Subregions where the NICs are located.
- * -Platforms: array string
+ * --Filters.Platforms: array string
* The platforms. Use windows if you have Windows VMs. Otherwise,
- * leave this filter blank.
- * -PrivateIps: array string
+ * leave
+ * this filter blank.
+ * --Filters.PrivateIps: array string
* The private IPs of the VMs.
- * -ProductCodes: array string
- * The product codes associated with the OMI used to create the
- * VMs.
- * -PublicIps: array string
+ * --Filters.ProductCodes: array string
+ * The product codes associated with the OMI used to create the VMs.
+ * --Filters.PublicIps: array string
* The public IPs of the VMs.
- * -ReservationIds: array string
+ * --Filters.ReservationIds: array string
* The IDs of the reservation of the VMs, created every time you
- * launch VMs. These reservation IDs can be associated with
- * several VMs when you lauch a group of VMs using the same launch
- * request.
- * -RootDeviceNames: array string
+ * launch
+ * VMs. These reservation IDs can be associated with several VMs
+ * when you
+ * lauch a group of VMs using the same launch request.
+ * --Filters.RootDeviceNames: array string
* The names of the root devices for the VMs (for example,
- * `/dev/sda1`)
- * -RootDeviceTypes: array string
+ * `/dev/sda1`)
+ * --Filters.RootDeviceTypes: array string
* The root devices types used by the VMs (always `ebs`)
- * -SecurityGroupIds: array string
+ * --Filters.SecurityGroupIds: array string
* The IDs of the security groups for the VMs (only in the public
- * Cloud).
- * -SecurityGroupNames: array string
- * The names of the security groups for the VMs (only in the
- * public Cloud).
- * -StateReasonCodes: array integer
+ * Cloud).
+ * --Filters.SecurityGroupNames: array string
+ * The names of the security groups for the VMs (only in the public
+ * Cloud).
+ * --Filters.StateReasonCodes: array integer
* The reason codes for the state changes.
- * -StateReasonMessages: array string
+ * --Filters.StateReasonMessages: array string
* The messages describing the state changes.
- * -StateReasons: array string
- * The reasons explaining the current states of the VMs. This
- * filter is like the `StateReasonCodes` one.
- * -SubnetIds: array string
+ * --Filters.StateReasons: array string
+ * The reasons explaining the current states of the VMs. This filter
+ * is
+ * like the `StateReasonCodes` one.
+ * --Filters.SubnetIds: array string
* The IDs of the Subnets for the VMs.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions of the VMs.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the VMs.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the VMs.
- * -Tags: array string
- * The key/value combination of the tags associated with the VMs,
- * in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -Tenancies: array string
- * The tenancies of the VMs (`dedicated` \\| `default` \\|
- * `host`).
- * -VmIds: array string
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the VMs, in
+ * the
+ * following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.Tenancies: array string
+ * The tenancies of the VMs (`dedicated` \\| `default` \\| `host`).
+ * --Filters.VmIds: array string
* One or more IDs of VMs.
- * -VmSecurityGroupIds: array string
+ * --Filters.VmSecurityGroupIds: array string
* The IDs of the security groups for the VMs.
- * -VmSecurityGroupNames: array string
+ * --Filters.VmSecurityGroupNames: array string
* The names of the security group for the VMs.
- * -VmStateCodes: array integer
+ * --Filters.VmStateCodes: array integer
* The state codes of the VMs: `-1` (quarantine), `0` (pending),
- * `16` (running), `32` (shutting-down), `48` (terminated), `64`
- * (stopping), and `80` (stopped).
- * -VmStateNames: array string
+ * `16`
+ * (running), `32` (shutting-down), `48` (terminated), `64`
+ * (stopping), and
+ * `80` (stopped).
+ * --Filters.VmStateNames: array string
* The state names of the VMs (`pending` \\| `running` \\|
- * `stopping` \\| `stopped` \\| `shutting-down` \\| `terminated`
- * \\| `quarantine`).
- * -VmTypes: array string
- * The VM types (for example, t2.micro). For more information,
- * see [VM
+ * `stopping` \\|
+ * `stopped` \\| `shutting-down` \\| `terminated` \\| `quarantine`).
+ * --Filters.VmTypes: array string
+ * The VM types (for example, t2.micro). For more information, see
+ * [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
char *filters_str;
int is_set_filters;
- struct filters_vm filters; /* ref FiltersVm */
+ struct filters_vm filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_vm_types_arg {
@@ -8686,44 +8843,45 @@ struct osc_read_vm_types_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -BsuOptimized: bool
- * This parameter is not available. It is present in our API for
- * the sake of historical compatibility with AWS.
- * -EphemeralsTypes: array string
+ * --Filters.BsuOptimized: bool
+ * This parameter is not available. It is present in our API for the
+ * sake
+ * of historical compatibility with AWS.
+ * --Filters.EphemeralsTypes: array string
* The types of ephemeral storage disk.
- * -Eths: array integer
+ * --Filters.Eths: array integer
* The number of Ethernet interfaces available.
- * -Gpus: array integer
+ * --Filters.Gpus: array integer
* The number of GPUs available.
- * -MemorySizes: array double
+ * --Filters.MemorySizes: array double
* The amounts of memory, in gibibytes (GiB).
- * -VcoreCounts: array integer
+ * --Filters.VcoreCounts: array integer
* The numbers of vCores.
- * -VmTypeNames: array string
+ * --Filters.VmTypeNames: array string
* The names of the VM types. For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
- * -VolumeCounts: array integer
+ * --Filters.VolumeCounts: array integer
* The maximum number of ephemeral storage disks.
- * -VolumeSizes: array integer
+ * --Filters.VolumeSizes: array integer
* The size of one ephemeral storage disk, in gibibytes (GiB).
*/
char *filters_str;
int is_set_filters;
- struct filters_vm_type filters; /* ref FiltersVmType */
+ struct filters_vm_type filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_vm_templates_arg {
@@ -8733,40 +8891,41 @@ struct osc_read_vm_templates_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* See 'filters' type documentation
- * -CpuCores: array integer
+ * --Filters.CpuCores: array integer
* The number of vCores.
- * -CpuGenerations: array string
+ * --Filters.CpuGenerations: array string
* The processor generations (for example, `v4`).
- * -CpuPerformances: array string
+ * --Filters.CpuPerformances: array string
* The performances of the VMs.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the VM templates.
- * -ImageIds: array string
+ * --Filters.ImageIds: array string
* The IDs of the OMIs.
- * -KeypairNames: array string
+ * --Filters.KeypairNames: array string
* The names of the keypairs.
- * -Rams: array integer
+ * --Filters.Rams: array integer
* The amount of RAM.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the VM templates.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the VM templates.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the VM
- * templates, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VmTemplateIds: array string
+ * templates,
+ * in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VmTemplateIds: array string
* The IDs of the VM templates.
- * -VmTemplateNames: array string
+ * --Filters.VmTemplateNames: array string
* The names of the VM templates.
*/
char *filters_str;
int is_set_filters;
- struct filters_vm_template filters; /* ref FiltersVmTemplate */
+ struct filters_vm_template filters;
};
struct osc_read_vm_groups_arg {
@@ -8776,36 +8935,37 @@ struct osc_read_vm_groups_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the VM groups.
- * -SecurityGroupIds: array string
+ * --Filters.SecurityGroupIds: array string
* The IDs of the security groups.
- * -SubnetIds: array string
+ * --Filters.SubnetIds: array string
* The IDs of the Subnets.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the VM groups.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the VM groups.
- * -Tags: array string
- * The key/value combination of the tags associated with the VMs,
- * in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VmCounts: array integer
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the VMs, in
+ * the
+ * following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VmCounts: array integer
* The number of VMs in the VM group.
- * -VmGroupIds: array string
+ * --Filters.VmGroupIds: array string
* The IDs of the VM groups.
- * -VmGroupNames: array string
+ * --Filters.VmGroupNames: array string
* The names of the VM groups.
- * -VmTemplateIds: array string
+ * --Filters.VmTemplateIds: array string
* The IDs of the VM templates.
*/
char *filters_str;
int is_set_filters;
- struct filters_vm_group filters; /* ref FiltersVmGroup */
+ struct filters_vm_group filters;
};
struct osc_read_virtual_gateways_arg {
@@ -8815,47 +8975,47 @@ struct osc_read_virtual_gateways_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ConnectionTypes: array string
- * The types of the virtual gateways (only `ipsec.1` is
- * supported).
- * -LinkNetIds: array string
+ * --Filters.ConnectionTypes: array string
+ * The types of the virtual gateways (only `ipsec.1` is supported).
+ * --Filters.LinkNetIds: array string
* The IDs of the Nets the virtual gateways are attached to.
- * -LinkStates: array string
+ * --Filters.LinkStates: array string
* The current states of the attachments between the virtual
- * gateways and the Nets (`attaching` \\| `attached` \\|
- * `detaching` \\| `detached`).
- * -States: array string
- * The states of the virtual gateways (`pending` \\| `available`
- * \\| `deleting` \\| `deleted`).
- * -TagKeys: array string
+ * gateways and
+ * the Nets (`attaching` \\| `attached` \\| `detaching` \\|
+ * `detached`).
+ * --Filters.States: array string
+ * The states of the virtual gateways (`pending` \\| `available` \\|
+ * `deleting` \\| `deleted`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the virtual gateways.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the virtual gateways.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * virtual gateways, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VirtualGatewayIds: array string
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the virtual
+ * gateways, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VirtualGatewayIds: array string
* The IDs of the virtual gateways.
*/
char *filters_str;
int is_set_filters;
- struct filters_virtual_gateway filters; /* ref FiltersVirtualGateway */
+ struct filters_virtual_gateway filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_users_arg {
@@ -8865,7 +9025,7 @@ struct osc_read_users_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_user_groups_per_user_arg {
@@ -8875,15 +9035,15 @@ struct osc_read_user_groups_per_user_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the user.
*/
- char *user_name; /* string */
+ char *user_name;
/*
* The path to the user (by default, `/`).
*/
- char *user_path; /* string */
+ char *user_path;
};
struct osc_read_user_groups_arg {
@@ -8893,29 +9053,30 @@ struct osc_read_user_groups_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -PathPrefix: string
- * The path prefix of the groups. If not specified, it is set to
- * a slash (`/`).
- * -UserGroupIds: array string
+ * --Filters.PathPrefix: string
+ * The path prefix of the groups. If not specified, it is set to a
+ * slash
+ * (`/`).
+ * --Filters.UserGroupIds: array string
* The IDs of the user groups.
*/
char *filters_str;
int is_set_filters;
- struct filters_user_group filters; /* ref FiltersUserGroup */
+ struct filters_user_group filters;
/*
* The item starting the list of groups requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_user_group_policy_arg {
@@ -8925,19 +9086,19 @@ struct osc_read_user_group_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
};
struct osc_read_user_group_policies_arg {
@@ -8947,26 +9108,26 @@ struct osc_read_user_group_policies_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The item starting the list of policies requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
};
struct osc_read_user_group_arg {
@@ -8976,15 +9137,15 @@ struct osc_read_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *path; /* string */
+ char *path;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_read_tags_arg {
@@ -8994,43 +9155,50 @@ struct osc_read_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Keys: array string
- * The keys of the tags that are assigned to the resources. You
- * can use this filter alongside the `Values` filter. In that
- * case, you filter the resources corresponding to each tag,
- * regardless of the other filter.
- * -ResourceIds: array string
+ * --Filters.Keys: array string
+ * The keys of the tags that are assigned to the resources. You can
+ * use
+ * this filter alongside the `Values` filter. In that case, you
+ * filter the
+ * resources corresponding to each tag, regardless of the other
+ * filter.
+ * --Filters.ResourceIds: array string
* The IDs of the resources with which the tags are associated.
- * -ResourceTypes: array string
- * The resource type (`vm` \\| `image` \\| `volume` \\|
- * `snapshot` \\| `public-ip` \\| `security-group` \\|
- * `route-table` \\| `nic` \\| `net` \\| `subnet` \\|
- * `net-peering` \\| `net-access-point` \\| `nat-service` \\|
- * `internet-service` \\| `client-gateway` \\| `virtual-gateway`
- * \\| `vpn-connection` \\| `dhcp-options` \\| `task`).
- * -Values: array string
+ * --Filters.ResourceTypes: array string
+ * The resource type (`vm` \\| `image` \\| `volume` \\| `snapshot`
+ * \\|
+ * `public-ip` \\| `security-group` \\| `route-table` \\| `nic` \\|
+ * `net`
+ * \\| `subnet` \\| `net-peering` \\| `net-access-point` \\|
+ * `nat-service`
+ * \\| `internet-service` \\| `client-gateway` \\| `virtual-gateway`
+ * \\|
+ * `vpn-connection` \\| `dhcp-options` \\| `task`).
+ * --Filters.Values: array string
* The values of the tags that are assigned to the resources. You
- * can use this filter alongside the `TagKeys` filter. In that
- * case, you filter the resources corresponding to each tag,
- * regardless of the other filter.
+ * can use
+ * this filter alongside the `TagKeys` filter. In that case, you
+ * filter the
+ * resources corresponding to each tag, regardless of the other
+ * filter.
*/
char *filters_str;
int is_set_filters;
- struct filters_tag filters; /* ref FiltersTag */
+ struct filters_tag filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_subregions_arg {
@@ -9040,30 +9208,30 @@ struct osc_read_subregions_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -RegionNames: array string
+ * --Filters.RegionNames: array string
* The names of the Regions containing the Subregions.
- * -States: array string
+ * --Filters.States: array string
* The states of the Subregions.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions.
*/
char *filters_str;
int is_set_filters;
- struct filters_subregion filters; /* ref FiltersSubregion */
+ struct filters_subregion filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_subnets_arg {
@@ -9073,47 +9241,48 @@ struct osc_read_subnets_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -AvailableIpsCounts: array integer
+ * --Filters.AvailableIpsCounts: array integer
* The number of available IPs.
- * -IpRanges: array string
+ * --Filters.IpRanges: array string
* The IP ranges in the Subnets, in CIDR notation (for example,
* `10.0.0.0/16`).
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets in which the Subnets are.
- * -States: array string
+ * --Filters.States: array string
* The states of the Subnets (`pending` \\| `available` \\|
- * `deleted`).
- * -SubnetIds: array string
+ * `deleted`).
+ * --Filters.SubnetIds: array string
* The IDs of the Subnets.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions in which the Subnets are located.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the Subnets.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the Subnets.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the
- * Subnets, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * Subnets, in
+ * the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_subnet filters; /* ref FiltersSubnet */
+ struct filters_subnet filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_snapshots_arg {
@@ -9123,62 +9292,67 @@ struct osc_read_snapshots_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -AccountAliases: array string
+ * --Filters.AccountAliases: array string
* The account aliases of the owners of the snapshots.
- * -AccountIds: array string
+ * --Filters.AccountIds: array string
* The account IDs of the owners of the snapshots.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the snapshots.
- * -FromCreationDate: string
+ * --Filters.FromCreationDate: string
* The beginning of the time period, in ISO 8601 date-time format
- * (for example, `2020-06-14T00:00:00.000Z`).
- * -PermissionsToCreateVolumeAccountIds: array string
+ * (for
+ * example, `2020-06-14T00:00:00.000Z`).
+ * --Filters.PermissionsToCreateVolumeAccountIds: array string
* The account IDs which have permissions to create volumes.
- * -PermissionsToCreateVolumeGlobalPermission: bool
+ * --Filters.PermissionsToCreateVolumeGlobalPermission: bool
* If true, lists all public volumes. If false, lists all private
- * volumes.
- * -Progresses: array integer
+ * volumes.
+ * --Filters.Progresses: array integer
* The progresses of the snapshots, as a percentage.
- * -SnapshotIds: array string
+ * --Filters.SnapshotIds: array string
* The IDs of the snapshots.
- * -States: array string
+ * --Filters.States: array string
* The states of the snapshots (`in-queue` \\| `pending` \\|
- * `completed` \\| `error` \\| `deleting`).
- * -TagKeys: array string
+ * `completed`
+ * \\| `error` \\| `deleting`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the snapshots.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the snapshots.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the
- * snapshots, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -ToCreationDate: string
+ * snapshots, in
+ * the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.ToCreationDate: string
* The end of the time period, in ISO 8601 date-time format (for
- * example, `2020-06-30T00:00:00.000Z`).
- * -VolumeIds: array string
+ * example,
+ * `2020-06-30T00:00:00.000Z`).
+ * --Filters.VolumeIds: array string
* The IDs of the volumes used to create the snapshots.
- * -VolumeSizes: array integer
+ * --Filters.VolumeSizes: array integer
* The sizes of the volumes used to create the snapshots, in
- * gibibytes (GiB).
+ * gibibytes
+ * (GiB).
*/
char *filters_str;
int is_set_filters;
- struct filters_snapshot filters; /* ref FiltersSnapshot */
+ struct filters_snapshot filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_snapshot_export_tasks_arg {
@@ -9188,26 +9362,26 @@ struct osc_read_snapshot_export_tasks_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -TaskIds: array string
+ * --Filters.TaskIds: array string
* The IDs of the export tasks.
*/
char *filters_str;
int is_set_filters;
- struct filters_export_task filters; /* ref FiltersExportTask */
+ struct filters_export_task filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_server_certificates_arg {
@@ -9217,15 +9391,15 @@ struct osc_read_server_certificates_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Paths: array string
+ * --Filters.Paths: array string
* The paths to the server certificates.
*/
char *filters_str;
int is_set_filters;
- struct filters_server_certificate filters; /* ref FiltersServerCertificate */
+ struct filters_server_certificate filters;
};
struct osc_read_security_groups_arg {
@@ -9235,82 +9409,89 @@ struct osc_read_security_groups_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the security groups.
- * -InboundRuleAccountIds: array string
+ * --Filters.InboundRuleAccountIds: array string
* The account IDs that have been granted permissions.
- * -InboundRuleFromPortRanges: array integer
- * The beginnings of the port ranges for the TCP and UDP
- * protocols, or the ICMP type numbers.
- * -InboundRuleIpRanges: array string
+ * --Filters.InboundRuleFromPortRanges: array integer
+ * The beginnings of the port ranges for the TCP and UDP protocols,
+ * or the
+ * ICMP type numbers.
+ * --Filters.InboundRuleIpRanges: array string
* The IP ranges that have been granted permissions, in CIDR
- * notation (for example, `10.0.0.0/24`).
- * -InboundRuleProtocols: array string
- * The IP protocols for the permissions (`tcp` \\| `udp` \\|
- * `icmp`, or a protocol number, or `-1` for all protocols).
- * -InboundRuleSecurityGroupIds: array string
- * The IDs of the security groups that have been granted
- * permissions.
- * -InboundRuleSecurityGroupNames: array string
+ * notation (for
+ * example, `10.0.0.0/24`).
+ * --Filters.InboundRuleProtocols: array string
+ * The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`,
+ * or a
+ * protocol number, or `-1` for all protocols).
+ * --Filters.InboundRuleSecurityGroupIds: array string
+ * The IDs of the security groups that have been granted permissions.
+ * --Filters.InboundRuleSecurityGroupNames: array string
* The names of the security groups that have been granted
- * permissions.
- * -InboundRuleToPortRanges: array integer
- * The ends of the port ranges for the TCP and UDP protocols, or
- * the ICMP code numbers.
- * -NetIds: array string
+ * permissions.
+ * --Filters.InboundRuleToPortRanges: array integer
+ * The ends of the port ranges for the TCP and UDP protocols, or the
+ * ICMP
+ * code numbers.
+ * --Filters.NetIds: array string
* The IDs of the Nets specified when the security groups were
- * created.
- * -OutboundRuleAccountIds: array string
+ * created.
+ * --Filters.OutboundRuleAccountIds: array string
* The account IDs that have been granted permissions.
- * -OutboundRuleFromPortRanges: array integer
- * The beginnings of the port ranges for the TCP and UDP
- * protocols, or the ICMP type numbers.
- * -OutboundRuleIpRanges: array string
+ * --Filters.OutboundRuleFromPortRanges: array integer
+ * The beginnings of the port ranges for the TCP and UDP protocols,
+ * or the
+ * ICMP type numbers.
+ * --Filters.OutboundRuleIpRanges: array string
* The IP ranges that have been granted permissions, in CIDR
- * notation (for example, `10.0.0.0/24`).
- * -OutboundRuleProtocols: array string
- * The IP protocols for the permissions (`tcp` \\| `udp` \\|
- * `icmp`, or a protocol number, or `-1` for all protocols).
- * -OutboundRuleSecurityGroupIds: array string
- * The IDs of the security groups that have been granted
- * permissions.
- * -OutboundRuleSecurityGroupNames: array string
+ * notation (for
+ * example, `10.0.0.0/24`).
+ * --Filters.OutboundRuleProtocols: array string
+ * The IP protocols for the permissions (`tcp` \\| `udp` \\| `icmp`,
+ * or a
+ * protocol number, or `-1` for all protocols).
+ * --Filters.OutboundRuleSecurityGroupIds: array string
+ * The IDs of the security groups that have been granted permissions.
+ * --Filters.OutboundRuleSecurityGroupNames: array string
* The names of the security groups that have been granted
- * permissions.
- * -OutboundRuleToPortRanges: array integer
- * The ends of the port ranges for the TCP and UDP protocols, or
- * the ICMP code numbers.
- * -SecurityGroupIds: array string
+ * permissions.
+ * --Filters.OutboundRuleToPortRanges: array integer
+ * The ends of the port ranges for the TCP and UDP protocols, or the
+ * ICMP
+ * code numbers.
+ * --Filters.SecurityGroupIds: array string
* The IDs of the security groups.
- * -SecurityGroupNames: array string
+ * --Filters.SecurityGroupNames: array string
* The names of the security groups.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the security groups.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the security groups.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the
- * security groups, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * security
+ * groups, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_security_group filters; /* ref FiltersSecurityGroup */
+ struct filters_security_group filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_secret_access_key_arg {
@@ -9318,13 +9499,13 @@ struct osc_read_secret_access_key_arg {
/*
* The ID of the access key.
*/
- char *access_key_id; /* string */
+ char *access_key_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_route_tables_arg {
@@ -9334,62 +9515,63 @@ struct osc_read_route_tables_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -LinkRouteTableIds: array string
+ * --Filters.LinkRouteTableIds: array string
* The IDs of the route tables involved in the associations.
- * -LinkRouteTableLinkRouteTableIds: array string
+ * --Filters.LinkRouteTableLinkRouteTableIds: array string
* The IDs of the associations between the route tables and the
- * Subnets.
- * -LinkRouteTableMain: bool
+ * Subnets.
+ * --Filters.LinkRouteTableMain: bool
* If true, the route tables are the main ones for their Nets.
- * -LinkSubnetIds: array string
+ * --Filters.LinkSubnetIds: array string
* The IDs of the Subnets involved in the associations.
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets for the route tables.
- * -RouteCreationMethods: array string
+ * --Filters.RouteCreationMethods: array string
* The methods used to create a route.
- * -RouteDestinationIpRanges: array string
+ * --Filters.RouteDestinationIpRanges: array string
* The IP ranges specified in routes in the tables.
- * -RouteDestinationServiceIds: array string
+ * --Filters.RouteDestinationServiceIds: array string
* The service IDs specified in routes in the tables.
- * -RouteGatewayIds: array string
+ * --Filters.RouteGatewayIds: array string
* The IDs of the gateways specified in routes in the tables.
- * -RouteNatServiceIds: array string
+ * --Filters.RouteNatServiceIds: array string
* The IDs of the NAT services specified in routes in the tables.
- * -RouteNetPeeringIds: array string
+ * --Filters.RouteNetPeeringIds: array string
* The IDs of the Net peerings specified in routes in the tables.
- * -RouteStates: array string
+ * --Filters.RouteStates: array string
* The states of routes in the route tables (always `active`).
- * -RouteTableIds: array string
+ * --Filters.RouteTableIds: array string
* The IDs of the route tables.
- * -RouteVmIds: array string
+ * --Filters.RouteVmIds: array string
* The IDs of the VMs specified in routes in the tables.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the route tables.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the route tables.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * route tables, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the route
+ * tables,
+ * in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_route_table filters; /* ref FiltersRouteTable */
+ struct filters_route_table filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_regions_arg {
@@ -9399,7 +9581,7 @@ struct osc_read_regions_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_quotas_arg {
@@ -9409,33 +9591,34 @@ struct osc_read_quotas_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Collections: array string
+ * --Filters.Collections: array string
* The group names of the quotas.
- * -QuotaNames: array string
+ * --Filters.QuotaNames: array string
* The names of the quotas.
- * -QuotaTypes: array string
- * The resource IDs if these are resource-specific quotas,
- * `global` if they are not.
- * -ShortDescriptions: array string
+ * --Filters.QuotaTypes: array string
+ * The resource IDs if these are resource-specific quotas, `global`
+ * if they
+ * are not.
+ * --Filters.ShortDescriptions: array string
* The description of the quotas.
*/
char *filters_str;
int is_set_filters;
- struct filters_quota filters; /* ref FiltersQuota */
+ struct filters_quota filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_public_ips_arg {
@@ -9445,51 +9628,52 @@ struct osc_read_public_ips_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -LinkPublicIpIds: array string
- * The IDs representing the associations of public IPs with VMs
- * or NICs.
- * -NicAccountIds: array string
+ * --Filters.LinkPublicIpIds: array string
+ * The IDs representing the associations of public IPs with VMs or
+ * NICs.
+ * --Filters.NicAccountIds: array string
* The account IDs of the owners of the NICs.
- * -NicIds: array string
+ * --Filters.NicIds: array string
* The IDs of the NICs.
- * -Placements: array string
+ * --Filters.Placements: array string
* Whether the public IPs are for use in the public Cloud or in a
- * Net.
- * -PrivateIps: array string
+ * Net.
+ * --Filters.PrivateIps: array string
* The private IPs associated with the public IPs.
- * -PublicIpIds: array string
+ * --Filters.PublicIpIds: array string
* The IDs of the public IPs.
- * -PublicIps: array string
+ * --Filters.PublicIps: array string
* The public IPs.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the public IPs.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the public IPs.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * public IPs, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VmIds: array string
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the public
+ * IPs, in
+ * the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VmIds: array string
* The IDs of the VMs.
*/
char *filters_str;
int is_set_filters;
- struct filters_public_ip filters; /* ref FiltersPublicIp */
+ struct filters_public_ip filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_public_ip_ranges_arg {
@@ -9499,18 +9683,18 @@ struct osc_read_public_ip_ranges_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_public_catalog_arg {
@@ -9520,7 +9704,7 @@ struct osc_read_public_catalog_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_product_types_arg {
@@ -9530,26 +9714,26 @@ struct osc_read_product_types_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ProductTypeIds: array string
+ * --Filters.ProductTypeIds: array string
* The IDs of the product types.
*/
char *filters_str;
int is_set_filters;
- struct filters_product_type filters; /* ref FiltersProductType */
+ struct filters_product_type filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_policy_versions_arg {
@@ -9558,20 +9742,20 @@ struct osc_read_policy_versions_arg {
* The item starting the list of policies requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_policy_version_arg {
@@ -9582,11 +9766,11 @@ struct osc_read_policy_version_arg {
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The ID of the policy version.
*/
- char *version_id; /* string */
+ char *version_id;
};
struct osc_read_policy_arg {
@@ -9597,7 +9781,7 @@ struct osc_read_policy_arg {
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
};
struct osc_read_policies_arg {
@@ -9607,31 +9791,32 @@ struct osc_read_policies_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -OnlyLinked: bool
+ * --Filters.OnlyLinked: bool
* If set to true, lists only the policies attached to a user.
- * -PathPrefix: string
+ * --Filters.PathPrefix: string
* The path prefix you can use to filter the results. If not
- * specified, it is set to a slash (`/`).
- * -Scope: string
+ * specified, it
+ * is set to a slash (`/`).
+ * --Filters.Scope: string
* The scope to filter policies (`OWS` \\| `LOCAL`).
*/
char *filters_str;
int is_set_filters;
- struct read_policies_filters filters; /* ref ReadPoliciesFilters */
+ struct read_policies_filters filters;
/*
* The item starting the list of policies requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_nics_arg {
@@ -9641,82 +9826,87 @@ struct osc_read_nics_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the NICs.
- * -IsSourceDestCheck: bool
+ * --Filters.IsSourceDestCheck: bool
* Whether the source/destination checking is enabled (true) or
- * disabled (false).
- * -LinkNicDeleteOnVmDeletion: bool
+ * disabled
+ * (false).
+ * --Filters.LinkNicDeleteOnVmDeletion: bool
* Whether the NICs are deleted when the VMs they are attached to
- * are terminated.
- * -LinkNicDeviceNumbers: array integer
+ * are
+ * terminated.
+ * --Filters.LinkNicDeviceNumbers: array integer
* The device numbers the NICs are attached to.
- * -LinkNicLinkNicIds: array string
+ * --Filters.LinkNicLinkNicIds: array string
* The attachment IDs of the NICs.
- * -LinkNicStates: array string
+ * --Filters.LinkNicStates: array string
* The states of the attachments.
- * -LinkNicVmAccountIds: array string
- * The account IDs of the owners of the VMs the NICs are attached
- * to.
- * -LinkNicVmIds: array string
+ * --Filters.LinkNicVmAccountIds: array string
+ * The account IDs of the owners of the VMs the NICs are attached to.
+ * --Filters.LinkNicVmIds: array string
* The IDs of the VMs the NICs are attached to.
- * -LinkPublicIpAccountIds: array string
- * The account IDs of the owners of the public IPs associated
- * with the NICs.
- * -LinkPublicIpLinkPublicIpIds: array string
- * The association IDs returned when the public IPs were
- * associated with the NICs.
- * -LinkPublicIpPublicDnsNames: array string
+ * --Filters.LinkPublicIpAccountIds: array string
+ * The account IDs of the owners of the public IPs associated with
+ * the
+ * NICs.
+ * --Filters.LinkPublicIpLinkPublicIpIds: array string
+ * The association IDs returned when the public IPs were associated
+ * with
+ * the NICs.
+ * --Filters.LinkPublicIpPublicDnsNames: array string
* The public DNS names associated with the public IPs.
- * -LinkPublicIpPublicIpIds: array string
- * The allocation IDs returned when the public IPs were allocated
- * to their accounts.
- * -LinkPublicIpPublicIps: array string
+ * --Filters.LinkPublicIpPublicIpIds: array string
+ * The allocation IDs returned when the public IPs were allocated to
+ * their
+ * accounts.
+ * --Filters.LinkPublicIpPublicIps: array string
* The public IPs associated with the NICs.
- * -MacAddresses: array string
+ * --Filters.MacAddresses: array string
* The Media Access Control (MAC) addresses of the NICs.
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets where the NICs are located.
- * -NicIds: array string
+ * --Filters.NicIds: array string
* The IDs of the NICs.
- * -PrivateDnsNames: array string
+ * --Filters.PrivateDnsNames: array string
* The private DNS names associated with the primary private IPs.
- * -PrivateIpsLinkPublicIpAccountIds: array string
+ * --Filters.PrivateIpsLinkPublicIpAccountIds: array string
* The account IDs of the owner of the public IPs associated with
- * the private IPs.
- * -PrivateIpsLinkPublicIpPublicIps: array string
+ * the
+ * private IPs.
+ * --Filters.PrivateIpsLinkPublicIpPublicIps: array string
* The public IPs associated with the private IPs.
- * -PrivateIpsPrimaryIp: bool
- * Whether the private IP is the primary IP associated with the
- * NIC.
- * -PrivateIpsPrivateIps: array string
+ * --Filters.PrivateIpsPrimaryIp: bool
+ * Whether the private IP is the primary IP associated with the NIC.
+ * --Filters.PrivateIpsPrivateIps: array string
* The private IPs of the NICs.
- * -SecurityGroupIds: array string
+ * --Filters.SecurityGroupIds: array string
* The IDs of the security groups associated with the NICs.
- * -SecurityGroupNames: array string
+ * --Filters.SecurityGroupNames: array string
* The names of the security groups associated with the NICs.
- * -States: array string
+ * --Filters.States: array string
* The states of the NICs.
- * -SubnetIds: array string
+ * --Filters.SubnetIds: array string
* The IDs of the Subnets for the NICs.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The Subregions where the NICs are located.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the NICs.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the NICs.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * NICs, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the NICs,
+ * in the
+ * following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_nic filters; /* ref FiltersNic */
+ struct filters_nic filters;
};
struct osc_read_nets_arg {
@@ -9726,45 +9916,45 @@ struct osc_read_nets_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -DhcpOptionsSetIds: array string
+ * --Filters.DhcpOptionsSetIds: array string
* The IDs of the DHCP options sets.
- * -IpRanges: array string
+ * --Filters.IpRanges: array string
* The IP ranges for the Nets, in CIDR notation (for example,
* `10.0.0.0/16`).
- * -IsDefault: bool
+ * --Filters.IsDefault: bool
* If true, the Net used is the default one.
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets.
- * -States: array string
- * The states of the Nets (`pending` \\| `available` \\|
- * `deleting`).
- * -TagKeys: array string
+ * --Filters.States: array string
+ * The states of the Nets (`pending` \\| `available` \\| `deleting`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the Nets.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the Nets.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * Nets, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the Nets,
+ * in the
+ * following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_net filters; /* ref FiltersNet */
+ struct filters_net filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_net_peerings_arg {
@@ -9774,58 +9964,58 @@ struct osc_read_net_peerings_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -AccepterNetAccountIds: array string
+ * --Filters.AccepterNetAccountIds: array string
* The account IDs of the owners of the peer Nets.
- * -AccepterNetIpRanges: array string
+ * --Filters.AccepterNetIpRanges: array string
* The IP ranges of the peer Nets, in CIDR notation (for example,
* `10.0.0.0/24`).
- * -AccepterNetNetIds: array string
+ * --Filters.AccepterNetNetIds: array string
* The IDs of the peer Nets.
- * -ExpirationDates: array string
- * The dates and times at which the Net peerings expire, in ISO
- * 8601 date-time format (for example,
- * `2020-06-14T00:00:00.000Z`).
- * -NetPeeringIds: array string
+ * --Filters.ExpirationDates: array string
+ * The dates and times at which the Net peerings expire, in ISO 8601
+ * date-time format (for example, `2020-06-14T00:00:00.000Z`).
+ * --Filters.NetPeeringIds: array string
* The IDs of the Net peerings.
- * -SourceNetAccountIds: array string
+ * --Filters.SourceNetAccountIds: array string
* The account IDs of the owners of the peer Nets.
- * -SourceNetIpRanges: array string
+ * --Filters.SourceNetIpRanges: array string
* The IP ranges of the peer Nets.
- * -SourceNetNetIds: array string
+ * --Filters.SourceNetNetIds: array string
* The IDs of the peer Nets.
- * -StateMessages: array string
+ * --Filters.StateMessages: array string
* Additional information about the states of the Net peerings.
- * -StateNames: array string
- * The states of the Net peerings (`pending-acceptance` \\|
- * `active` \\| `rejected` \\| `failed` \\| `expired` \\|
- * `deleted`).
- * -TagKeys: array string
+ * --Filters.StateNames: array string
+ * The states of the Net peerings (`pending-acceptance` \\| `active`
+ * \\|
+ * `rejected` \\| `failed` \\| `expired` \\| `deleted`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the Net peerings.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the Net peerings.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the Net
- * peerings, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * peerings,
+ * in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_net_peering filters; /* ref FiltersNetPeering */
+ struct filters_net_peering filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_net_access_points_arg {
@@ -9835,43 +10025,45 @@ struct osc_read_net_access_points_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -NetAccessPointIds: array string
+ * --Filters.NetAccessPointIds: array string
* The IDs of the Net access points.
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets.
- * -ServiceNames: array string
+ * --Filters.ServiceNames: array string
* The names of the services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
- * -States: array string
+ * --Filters.States: array string
* The states of the Net access points (`pending` \\| `available`
- * \\| `deleting` \\| `deleted`).
- * -TagKeys: array string
+ * \\|
+ * `deleting` \\| `deleted`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the Net access points.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the Net access points.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the Net
- * access points, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * access
+ * points, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_net_access_point filters; /* ref FiltersNetAccessPoint */
+ struct filters_net_access_point filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_net_access_point_services_arg {
@@ -9881,28 +10073,28 @@ struct osc_read_net_access_point_services_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ServiceIds: array string
+ * --Filters.ServiceIds: array string
* The IDs of the services.
- * -ServiceNames: array string
+ * --Filters.ServiceNames: array string
* The names of the services.
*/
char *filters_str;
int is_set_filters;
- struct filters_service filters; /* ref FiltersService */
+ struct filters_service filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_nat_services_arg {
@@ -9912,45 +10104,46 @@ struct osc_read_nat_services_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ClientTokens: array string
- * The idempotency tokens provided when creating the NAT
- * services.
- * -NatServiceIds: array string
+ * --Filters.ClientTokens: array string
+ * The idempotency tokens provided when creating the NAT services.
+ * --Filters.NatServiceIds: array string
* The IDs of the NAT services.
- * -NetIds: array string
+ * --Filters.NetIds: array string
* The IDs of the Nets in which the NAT services are.
- * -States: array string
+ * --Filters.States: array string
* The states of the NAT services (`pending` \\| `available` \\|
- * `deleting` \\| `deleted`).
- * -SubnetIds: array string
+ * `deleting`
+ * \\| `deleted`).
+ * --Filters.SubnetIds: array string
* The IDs of the Subnets in which the NAT services are.
- * -TagKeys: array string
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the NAT services.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the NAT services.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the NAT
- * services, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * services,
+ * in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_nat_service filters; /* ref FiltersNatService */
+ struct filters_nat_service filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_managed_policies_linked_to_user_group_arg {
@@ -9960,33 +10153,34 @@ struct osc_read_managed_policies_linked_to_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -PathPrefix: string
- * The path prefix of the groups. If not specified, it is set to
- * a slash (`/`).
- * -UserGroupIds: array string
+ * --Filters.PathPrefix: string
+ * The path prefix of the groups. If not specified, it is set to a
+ * slash
+ * (`/`).
+ * --Filters.UserGroupIds: array string
* The IDs of the user groups.
*/
char *filters_str;
int is_set_filters;
- struct filters_user_group filters; /* ref FiltersUserGroup */
+ struct filters_user_group filters;
/*
* The item starting the list of policies requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_read_locations_arg {
@@ -9996,18 +10190,18 @@ struct osc_read_locations_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_load_balancers_arg {
@@ -10017,15 +10211,15 @@ struct osc_read_load_balancers_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -LoadBalancerNames: array string
+ * --Filters.LoadBalancerNames: array string
* The names of the load balancers.
*/
char *filters_str;
int is_set_filters;
- struct filters_load_balancer filters; /* ref FiltersLoadBalancer */
+ struct filters_load_balancer filters;
};
struct osc_read_load_balancer_tags_arg {
@@ -10035,12 +10229,12 @@ struct osc_read_load_balancer_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more load balancer names.
*/
char *load_balancer_names_str;
- char **load_balancer_names; /* array string */
+ char **load_balancer_names;
};
struct osc_read_listener_rules_arg {
@@ -10050,15 +10244,15 @@ struct osc_read_listener_rules_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ListenerRuleNames: array string
+ * --Filters.ListenerRuleNames: array string
* The names of the listener rules.
*/
char *filters_str;
int is_set_filters;
- struct filters_listener_rule filters; /* ref FiltersListenerRule */
+ struct filters_listener_rule filters;
};
struct osc_read_linked_policies_arg {
@@ -10068,31 +10262,32 @@ struct osc_read_linked_policies_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -PathPrefix: string
- * The path prefix of the policies. If not specified, it is set
- * to a slash (`/`).
+ * --Filters.PathPrefix: string
+ * The path prefix of the policies. If not specified, it is set to a
+ * slash
+ * (`/`).
*/
char *filters_str;
int is_set_filters;
- struct read_linked_policies_filters filters; /* ref ReadLinkedPoliciesFilters */
+ struct read_linked_policies_filters filters;
/*
* The item starting the list of policies requested.
*/
int is_set_first_item;
- int first_item; /* int */
+ int first_item;
/*
* The maximum number of items that can be returned in a single response
* (by default, `100`).
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
/*
* The name of the user the policies are linked to.
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_read_keypairs_arg {
@@ -10102,32 +10297,32 @@ struct osc_read_keypairs_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -KeypairFingerprints: array string
+ * --Filters.KeypairFingerprints: array string
* The fingerprints of the keypairs.
- * -KeypairNames: array string
+ * --Filters.KeypairNames: array string
* The names of the keypairs.
- * -KeypairTypes: array string
+ * --Filters.KeypairTypes: array string
* The types of the keypairs (`ssh-rsa`, `ssh-ed25519`,
* `ecdsa-sha2-nistp256`, `ecdsa-sha2-nistp384`, or
- * `ecdsa-sha2-nistp521`).
+ * `ecdsa-sha2-nistp521`).
*/
char *filters_str;
int is_set_filters;
- struct filters_keypair filters; /* ref FiltersKeypair */
+ struct filters_keypair filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_internet_services_arg {
@@ -10137,41 +10332,44 @@ struct osc_read_internet_services_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -InternetServiceIds: array string
+ * --Filters.InternetServiceIds: array string
* The IDs of the Internet services.
- * -LinkNetIds: array string
+ * --Filters.LinkNetIds: array string
* The IDs of the Nets the Internet services are attached to.
- * -LinkStates: array string
+ * --Filters.LinkStates: array string
* The current states of the attachments between the Internet
- * services and the Nets (only `available`, if the Internet
- * gateway is attached to a Net).
- * -TagKeys: array string
+ * services and
+ * the Nets (only `available`, if the Internet gateway is attached
+ * to a
+ * Net).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the Internet services.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the Internet services.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the
- * Internet services, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * Internet
+ * services, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_internet_service filters; /* ref FiltersInternetService */
+ struct filters_internet_service filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_images_arg {
@@ -10181,79 +10379,78 @@ struct osc_read_images_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -AccountAliases: array string
+ * --Filters.AccountAliases: array string
* The account aliases of the owners of the OMIs.
- * -AccountIds: array string
+ * --Filters.AccountIds: array string
* The account IDs of the owners of the OMIs. By default, all the
- * OMIs for which you have launch permissions are described.
- * -Architectures: array string
+ * OMIs for
+ * which you have launch permissions are described.
+ * --Filters.Architectures: array string
* The architectures of the OMIs (`i386` \\| `x86_64`).
- * -BlockDeviceMappingDeleteOnVmDeletion: bool
- * Whether the volumes are deleted or not when terminating the
- * VM.
- * -BlockDeviceMappingDeviceNames: array string
+ * --Filters.BlockDeviceMappingDeleteOnVmDeletion: bool
+ * Whether the volumes are deleted or not when terminating the VM.
+ * --Filters.BlockDeviceMappingDeviceNames: array string
* The device names for the volumes.
- * -BlockDeviceMappingSnapshotIds: array string
+ * --Filters.BlockDeviceMappingSnapshotIds: array string
* The IDs of the snapshots used to create the volumes.
- * -BlockDeviceMappingVolumeSizes: array integer
+ * --Filters.BlockDeviceMappingVolumeSizes: array integer
* The sizes of the volumes, in gibibytes (GiB).
- * -BlockDeviceMappingVolumeTypes: array string
+ * --Filters.BlockDeviceMappingVolumeTypes: array string
* The types of volumes (`standard` \\| `gp2` \\| `io1`).
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the OMIs, provided when they were created.
- * -FileLocations: array string
+ * --Filters.FileLocations: array string
* The locations of the buckets where the OMI files are stored.
- * -Hypervisors: array string
+ * --Filters.Hypervisors: array string
* The hypervisor type of the OMI (always `xen`).
- * -ImageIds: array string
+ * --Filters.ImageIds: array string
* The IDs of the OMIs.
- * -ImageNames: array string
+ * --Filters.ImageNames: array string
* The names of the OMIs, provided when they were created.
- * -PermissionsToLaunchAccountIds: array string
+ * --Filters.PermissionsToLaunchAccountIds: array string
* The account IDs which have launch permissions for the OMIs.
- * -PermissionsToLaunchGlobalPermission: bool
- * If true, lists all public OMIs. If false, lists all private
- * OMIs.
- * -ProductCodeNames: array string
+ * --Filters.PermissionsToLaunchGlobalPermission: bool
+ * If true, lists all public OMIs. If false, lists all private OMIs.
+ * --Filters.ProductCodeNames: array string
* The names of the product codes associated with the OMI.
- * -ProductCodes: array string
+ * --Filters.ProductCodes: array string
* The product codes associated with the OMI.
- * -RootDeviceNames: array string
+ * --Filters.RootDeviceNames: array string
* The name of the root device. This value must be /dev/sda1.
- * -RootDeviceTypes: array string
+ * --Filters.RootDeviceTypes: array string
* The types of root device used by the OMIs (`bsu` or `ebs`).
- * -States: array string
- * The states of the OMIs (`pending` \\| `available` \\|
- * `failed`).
- * -TagKeys: array string
+ * --Filters.States: array string
+ * The states of the OMIs (`pending` \\| `available` \\| `failed`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the OMIs.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the OMIs.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * OMIs, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
- * -VirtualizationTypes: array string
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the OMIs,
+ * in the
+ * following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
+ * --Filters.VirtualizationTypes: array string
* The virtualization types (always `hvm`).
*/
char *filters_str;
int is_set_filters;
- struct filters_image filters; /* ref FiltersImage */
+ struct filters_image filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_image_export_tasks_arg {
@@ -10263,26 +10460,26 @@ struct osc_read_image_export_tasks_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -TaskIds: array string
+ * --Filters.TaskIds: array string
* The IDs of the export tasks.
*/
char *filters_str;
int is_set_filters;
- struct filters_export_task filters; /* ref FiltersExportTask */
+ struct filters_export_task filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_flexible_gpus_arg {
@@ -10292,31 +10489,33 @@ struct osc_read_flexible_gpus_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -DeleteOnVmDeletion: bool
+ * --Filters.DeleteOnVmDeletion: bool
* Indicates whether the fGPU is deleted when terminating the VM.
- * -FlexibleGpuIds: array string
+ * --Filters.FlexibleGpuIds: array string
* One or more IDs of fGPUs.
- * -Generations: array string
+ * --Filters.Generations: array string
* The processor generations that the fGPUs are compatible with.
- * -ModelNames: array string
+ * --Filters.ModelNames: array string
* One or more models of fGPUs. For more information, see [About
- * Flexible
- * GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs
- * .html).
- * -States: array string
+ * Flexible
+ *
+ * GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html)
+ * .
+ * --Filters.States: array string
* The states of the fGPUs (`allocated` \\| `attaching` \\|
- * `attached` \\| `detaching`).
- * -SubregionNames: array string
+ * `attached` \\|
+ * `detaching`).
+ * --Filters.SubregionNames: array string
* The Subregions where the fGPUs are located.
- * -VmIds: array string
+ * --Filters.VmIds: array string
* One or more IDs of VMs.
*/
char *filters_str;
int is_set_filters;
- struct filters_flexible_gpu filters; /* ref FiltersFlexibleGpu */
+ struct filters_flexible_gpu filters;
};
struct osc_read_flexible_gpu_catalog_arg {
@@ -10326,7 +10525,7 @@ struct osc_read_flexible_gpu_catalog_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_direct_links_arg {
@@ -10336,26 +10535,26 @@ struct osc_read_direct_links_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -DirectLinkIds: array string
+ * --Filters.DirectLinkIds: array string
* The IDs of the DirectLinks.
*/
char *filters_str;
int is_set_filters;
- struct filters_direct_link filters; /* ref FiltersDirectLink */
+ struct filters_direct_link filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_direct_link_interfaces_arg {
@@ -10365,28 +10564,28 @@ struct osc_read_direct_link_interfaces_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -DirectLinkIds: array string
+ * --Filters.DirectLinkIds: array string
* The IDs of the DirectLinks.
- * -DirectLinkInterfaceIds: array string
+ * --Filters.DirectLinkInterfaceIds: array string
* The IDs of the DirectLink interfaces.
*/
char *filters_str;
int is_set_filters;
- struct filters_direct_link_interface filters; /* ref FiltersDirectLinkInterface */
+ struct filters_direct_link_interface filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_dhcp_options_arg {
@@ -10396,48 +10595,49 @@ struct osc_read_dhcp_options_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -Default: bool
- * If true, lists all default DHCP options set. If false, lists
- * all non-default DHCP options set.
- * -DhcpOptionsSetIds: array string
+ * --Filters.Default: bool
+ * If true, lists all default DHCP options set. If false, lists all
+ * non-default DHCP options set.
+ * --Filters.DhcpOptionsSetIds: array string
* The IDs of the DHCP options sets.
- * -DomainNameServers: array string
- * The IPs of the domain name servers used for the DHCP options
- * sets.
- * -DomainNames: array string
+ * --Filters.DomainNameServers: array string
+ * The IPs of the domain name servers used for the DHCP options sets.
+ * --Filters.DomainNames: array string
* The domain names used for the DHCP options sets.
- * -LogServers: array string
+ * --Filters.LogServers: array string
* The IPs of the log servers used for the DHCP options sets.
- * -NtpServers: array string
- * The IPs of the Network Time Protocol (NTP) servers used for
- * the DHCP options sets.
- * -TagKeys: array string
+ * --Filters.NtpServers: array string
+ * The IPs of the Network Time Protocol (NTP) servers used for the
+ * DHCP
+ * options sets.
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the DHCP options sets.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the DHCP options sets.
- * -Tags: array string
+ * --Filters.Tags: array string
* The key/value combination of the tags associated with the DHCP
- * options sets, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * options
+ * sets, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_dhcp_options filters; /* ref FiltersDhcpOptions */
+ struct filters_dhcp_options filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_dedicated_groups_arg {
@@ -10447,34 +10647,34 @@ struct osc_read_dedicated_groups_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -CpuGenerations: array integer
- * The processor generation for the VMs in the dedicated group
- * (for example, `4`).
- * -DedicatedGroupIds: array string
+ * --Filters.CpuGenerations: array integer
+ * The processor generation for the VMs in the dedicated group (for
+ * example, `4`).
+ * --Filters.DedicatedGroupIds: array string
* The IDs of the dedicated groups.
- * -Names: array string
+ * --Filters.Names: array string
* The names of the dedicated groups.
- * -SubregionNames: array string
+ * --Filters.SubregionNames: array string
* The names of the Subregions in which the dedicated groups are
- * located.
+ * located.
*/
char *filters_str;
int is_set_filters;
- struct filters_dedicated_group filters; /* ref FiltersDedicatedGroup */
+ struct filters_dedicated_group filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_consumption_account_arg {
@@ -10484,7 +10684,7 @@ struct osc_read_consumption_account_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The beginning of the time period, in ISO 8601 date format (for
* example, `2020-06-14`). The date-time format is also accepted, but
@@ -10492,7 +10692,7 @@ struct osc_read_consumption_account_arg {
* `2020-06-14T00:00:00.000Z`). This value is included in the time
* period.
*/
- char *from_date; /* string */
+ char *from_date;
/*
* By default or if false, returns only the consumption of the specific
* account that sends this request. If true, returns either the overall
@@ -10501,7 +10701,7 @@ struct osc_read_consumption_account_arg {
* nothing (if the account that sends this request is a linked account).
*/
int is_set_overall;
- int overall; /* bool */
+ int overall;
/*
* If true, the response also includes the unit price of the consumed
* resource (`UnitPrice`) and the total price of the consumed resource
@@ -10509,7 +10709,7 @@ struct osc_read_consumption_account_arg {
* account.
*/
int is_set_show_price;
- int show_price; /* bool */
+ int show_price;
/*
* The end of the time period, in ISO 8601 date format (for example,
* `2020-06-30`). The date-time format is also accepted, but only with a
@@ -10517,7 +10717,7 @@ struct osc_read_consumption_account_arg {
* value is excluded from the time period, and must be set to a later
* date than `FromDate`.
*/
- char *to_date; /* string */
+ char *to_date;
};
struct osc_read_console_output_arg {
@@ -10527,11 +10727,11 @@ struct osc_read_console_output_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_read_client_gateways_arg {
@@ -10541,46 +10741,48 @@ struct osc_read_client_gateways_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -BgpAsns: array integer
+ * --Filters.BgpAsns: array integer
* The Border Gateway Protocol (BGP) Autonomous System Numbers
- * (ASNs) of the connections.
- * -ClientGatewayIds: array string
+ * (ASNs) of
+ * the connections.
+ * --Filters.ClientGatewayIds: array string
* The IDs of the client gateways.
- * -ConnectionTypes: array string
+ * --Filters.ConnectionTypes: array string
* The types of communication tunnels used by the client gateways
- * (only `ipsec.1` is supported).
- * -PublicIps: array string
+ * (only
+ * `ipsec.1` is supported).
+ * --Filters.PublicIps: array string
* The public IPv4 addresses of the client gateways.
- * -States: array string
- * The states of the client gateways (`pending` \\| `available`
- * \\| `deleting` \\| `deleted`).
- * -TagKeys: array string
+ * --Filters.States: array string
+ * The states of the client gateways (`pending` \\| `available` \\|
+ * `deleting` \\| `deleted`).
+ * --Filters.TagKeys: array string
* The keys of the tags associated with the client gateways.
- * -TagValues: array string
+ * --Filters.TagValues: array string
* The values of the tags associated with the client gateways.
- * -Tags: array string
- * The key/value combination of the tags associated with the
- * client gateways, in the following format:
- * "Filters":{"Tags":["TAGKEY=TAGVALUE&quo
- * t;]}.
+ * --Filters.Tags: array string
+ * The key/value combination of the tags associated with the client
+ * gateways, in the following format:
+ *
+ * "Filters":{"Tags":["TAGKEY=TAGVALUE"]}.
*/
char *filters_str;
int is_set_filters;
- struct filters_client_gateway filters; /* ref FiltersClientGateway */
+ struct filters_client_gateway filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
};
struct osc_read_catalogs_arg {
@@ -10590,26 +10792,28 @@ struct osc_read_catalogs_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -CurrentCatalogOnly: bool
- * By default or if set to true, only returns the current
- * catalog. If false, returns the current catalog and past
- * catalogs.
- * -FromDate: string
+ * --Filters.CurrentCatalogOnly: bool
+ * By default or if set to true, only returns the current catalog.
+ * If
+ * false, returns the current catalog and past catalogs.
+ * --Filters.FromDate: string
* The beginning of the time period, in ISO 8601 date format (for
- * example, `2020-06-14`). This date cannot be older than 3 years.
- * You must specify the parameters `FromDate` and `ToDate`
+ * example,
+ * `2020-06-14`). This date cannot be older than 3 years. You must
+ * specify
+ * the parameters `FromDate` and `ToDate` together.
+ * --Filters.ToDate: string
+ * The end of the time period, in ISO 8601 date format (for example,
+ * `2020-06-30`). You must specify the parameters `FromDate` and
+ * `ToDate`
* together.
- * -ToDate: string
- * The end of the time period, in ISO 8601 date format (for
- * example, `2020-06-30`). You must specify the parameters
- * `FromDate` and `ToDate` together.
*/
char *filters_str;
int is_set_filters;
- struct filters_catalogs filters; /* ref FiltersCatalogs */
+ struct filters_catalogs filters;
};
struct osc_read_catalog_arg {
@@ -10619,7 +10823,7 @@ struct osc_read_catalog_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_cas_arg {
@@ -10629,19 +10833,19 @@ struct osc_read_cas_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -CaFingerprints: array string
+ * --Filters.CaFingerprints: array string
* The fingerprints of the CAs.
- * -CaIds: array string
+ * --Filters.CaIds: array string
* The IDs of the CAs.
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* The descriptions of the CAs.
*/
char *filters_str;
int is_set_filters;
- struct filters_ca filters; /* ref FiltersCa */
+ struct filters_ca filters;
};
struct osc_read_api_logs_arg {
@@ -10651,101 +10855,107 @@ struct osc_read_api_logs_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -QueryAccessKeys: array string
+ * --Filters.QueryAccessKeys: array string
* The access keys used for the logged calls.
- * -QueryApiNames: array string
- * The names of the APIs of the logged calls (always `oapi` for
- * the OUTSCALE API).
- * -QueryCallNames: array string
+ * --Filters.QueryApiNames: array string
+ * The names of the APIs of the logged calls (always `oapi` for the
+ * OUTSCALE API).
+ * --Filters.QueryCallNames: array string
* The names of the logged calls.
- * -QueryDateAfter: string
- * The date and time, or the date, after which you want to
- * retrieve logged calls, in ISO 8601 format (for example,
- * `2020-06-14T00:00:00.000Z` or `2020-06-14`). By default, this
- * date is set to 48 hours before the `QueryDateBefore` parameter
- * value.
- * -QueryDateBefore: string
- * The date and time, or the date, before which you want to
- * retrieve logged calls, in ISO 8601 format (for example,
- * `2020-06-30T00:00:00.000Z` or `2020-06-14`). By default, this
- * date is set to now, or 48 hours after the `QueryDateAfter`
- * parameter value.
- * -QueryIpAddresses: array string
+ * --Filters.QueryDateAfter: string
+ * The date and time, or the date, after which you want to retrieve
+ * logged
+ * calls, in ISO 8601 format (for example,
+ * `2020-06-14T00:00:00.000Z` or
+ * `2020-06-14`). By default, this date is set to 48 hours before
+ * the
+ * `QueryDateBefore` parameter value.
+ * --Filters.QueryDateBefore: string
+ * The date and time, or the date, before which you want to retrieve
+ * logged
+ * calls, in ISO 8601 format (for example,
+ * `2020-06-30T00:00:00.000Z` or
+ * `2020-06-14`). By default, this date is set to now, or 48 hours
+ * after the
+ * `QueryDateAfter` parameter value.
+ * --Filters.QueryIpAddresses: array string
* The IPs used for the logged calls.
- * -QueryUserAgents: array string
+ * --Filters.QueryUserAgents: array string
* The user agents of the HTTP requests of the logged calls.
- * -RequestIds: array string
+ * --Filters.RequestIds: array string
* The request IDs provided in the responses of the logged calls.
- * -ResponseStatusCodes: array integer
+ * --Filters.ResponseStatusCodes: array integer
* The HTTP status codes of the logged calls.
*/
char *filters_str;
int is_set_filters;
- struct filters_api_log filters; /* ref FiltersApiLog */
+ struct filters_api_log filters;
/*
* The token to request the next page of results. Each token refers to a
* specific page.
*/
- char *next_page_token; /* string */
+ char *next_page_token;
/*
* The maximum number of logs returned in a single response (between
* `1`and `1000`, both included). By default, `100`.
*/
int is_set_results_per_page;
- int results_per_page; /* int */
+ int results_per_page;
/*
* The information to display in each returned log.
- * -AccountId: bool
+ * --With.AccountId: bool
* By default or if set to true, the account ID is displayed.
- * -CallDuration: bool
+ * --With.CallDuration: bool
* By default or if set to true, the duration of the call is
- * displayed.
- * -QueryAccessKey: bool
+ * displayed.
+ * --With.QueryAccessKey: bool
* By default or if set to true, the access key is displayed.
- * -QueryApiName: bool
- * By default or if set to true, the name of the API is
- * displayed.
- * -QueryApiVersion: bool
- * By default or if set to true, the version of the API is
- * displayed.
- * -QueryCallName: bool
- * By default or if set to true, the name of the call is
+ * --With.QueryApiName: bool
+ * By default or if set to true, the name of the API is displayed.
+ * --With.QueryApiVersion: bool
+ * By default or if set to true, the version of the API is displayed.
+ * --With.QueryCallName: bool
+ * By default or if set to true, the name of the call is displayed.
+ * --With.QueryDate: bool
+ * By default or if set to true, the date of the call is displayed.
+ * --With.QueryHeaderRaw: bool
+ * By default or if set to true, the raw header of the HTTP request
+ * is
* displayed.
- * -QueryDate: bool
- * By default or if set to true, the date of the call is
- * displayed.
- * -QueryHeaderRaw: bool
- * By default or if set to true, the raw header of the HTTP
+ * --With.QueryHeaderSize: bool
+ * By default or if set to true, the size of the raw header of the
+ * HTTP
* request is displayed.
- * -QueryHeaderSize: bool
- * By default or if set to true, the size of the raw header of
- * the HTTP request is displayed.
- * -QueryIpAddress: bool
+ * --With.QueryIpAddress: bool
* By default or if set to true, the IP is displayed.
- * -QueryPayloadRaw: bool
- * By default or if set to true, the raw payload of the HTTP
- * request is displayed.
- * -QueryPayloadSize: bool
- * By default or if set to true, the size of the raw payload of
- * the HTTP request is displayed.
- * -QueryUserAgent: bool
- * By default or if set to true, the user agent of the HTTP
+ * --With.QueryPayloadRaw: bool
+ * By default or if set to true, the raw payload of the HTTP request
+ * is
+ * displayed.
+ * --With.QueryPayloadSize: bool
+ * By default or if set to true, the size of the raw payload of the
+ * HTTP
* request is displayed.
- * -RequestId: bool
+ * --With.QueryUserAgent: bool
+ * By default or if set to true, the user agent of the HTTP request
+ * is
+ * displayed.
+ * --With.RequestId: bool
* By default or if set to true, the request ID is displayed.
- * -ResponseSize: bool
+ * --With.ResponseSize: bool
* By default or if set to true, the size of the response is
- * displayed.
- * -ResponseStatusCode: bool
+ * displayed.
+ * --With.ResponseStatusCode: bool
* By default or if set to true, the HTTP status code of the
- * response is displayed.
+ * response is
+ * displayed.
*/
char *with_str;
int is_set_with;
- struct with with; /* ref With */
+ struct with with;
};
struct osc_read_api_access_rules_arg {
@@ -10755,23 +10965,23 @@ struct osc_read_api_access_rules_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -ApiAccessRuleIds: array string
+ * --Filters.ApiAccessRuleIds: array string
* One or more IDs of API access rules.
- * -CaIds: array string
+ * --Filters.CaIds: array string
* One or more IDs of Client Certificate Authorities (CAs).
- * -Cns: array string
+ * --Filters.Cns: array string
* One or more Client Certificate Common Names (CNs).
- * -Descriptions: array string
+ * --Filters.Descriptions: array string
* One or more descriptions of API access rules.
- * -IpRanges: array string
+ * --Filters.IpRanges: array string
* One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).
*/
char *filters_str;
int is_set_filters;
- struct filters_api_access_rule filters; /* ref FiltersApiAccessRule */
+ struct filters_api_access_rule filters;
};
struct osc_read_api_access_policy_arg {
@@ -10781,7 +10991,7 @@ struct osc_read_api_access_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_admin_password_arg {
@@ -10791,11 +11001,11 @@ struct osc_read_admin_password_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_read_accounts_arg {
@@ -10805,7 +11015,7 @@ struct osc_read_accounts_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_read_access_keys_arg {
@@ -10815,22 +11025,22 @@ struct osc_read_access_keys_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more filters.
- * -AccessKeyIds: array string
+ * --Filters.AccessKeyIds: array string
* The IDs of the access keys.
- * -States: array string
+ * --Filters.States: array string
* The states of the access keys (`ACTIVE` \\| `INACTIVE`).
*/
char *filters_str;
int is_set_filters;
- struct filters_access_keys filters; /* ref FiltersAccessKeys */
+ struct filters_access_keys filters;
/*
* The name of the EIM user. By default, the user who sends the request
* (which can be the root account).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_put_user_group_policy_arg {
@@ -10840,26 +11050,26 @@ struct osc_put_user_group_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The policy document, corresponding to a JSON string that contains the
* policy. For more information, see [EIM Reference
* Information](https://docs.outscale.com/en/userguide/EIM-Reference-Info
* rmation.html).
*/
- char *policy_document; /* string */
+ char *policy_document;
/*
* The name of the policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
};
struct osc_link_volume_arg {
@@ -10870,21 +11080,21 @@ struct osc_link_volume_arg {
* or `/dev/xvdXX` (where the first `X` is a letter between `b` and `z`,
* and the second `X` is a letter between `a` and `z`).
*/
- char *device_name; /* string */
+ char *device_name;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM you want to attach the volume to.
*/
- char *vm_id; /* string */
+ char *vm_id;
/*
* The ID of the volume you want to attach.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct osc_link_virtual_gateway_arg {
@@ -10894,15 +11104,15 @@ struct osc_link_virtual_gateway_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net to which you want to attach the virtual gateway.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct osc_link_route_table_arg {
@@ -10912,15 +11122,15 @@ struct osc_link_route_table_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the route table.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* The ID of the Subnet.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osc_link_public_ip_arg {
@@ -10933,42 +11143,42 @@ struct osc_link_public_ip_arg {
* VM or NIC. (By default, true in the public Cloud, false in a Net.)
*/
int is_set_allow_relink;
- int allow_relink; /* bool */
+ int allow_relink;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* (Net only) The ID of the NIC. This parameter is required if the VM
* has more than one NIC attached. Otherwise, you need to specify the
* `VmId` parameter instead. You cannot specify both parameters at the
* same time.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* (Net only) The primary or secondary private IP of the specified NIC.
* By default, the primary private IP.
*/
- char *private_ip; /* string */
+ char *private_ip;
/*
* The public IP. This parameter is required unless you use the
* `PublicIpId` parameter.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The allocation ID of the public IP. This parameter is required unless
* you use the `PublicIp` parameter.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
/*
* The ID of the VM.
\n- In the public Cloud, this parameter is
* required.
\n- In a Net, this parameter is required if the VM has
* only one NIC. Otherwise, you need to specify the `NicId` parameter
* instead. You cannot specify both parameters at the same time.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_link_private_ips_arg {
@@ -10978,28 +11188,28 @@ struct osc_link_private_ips_arg {
* same Subnet to be assigned to the NIC you specified.
*/
int is_set_allow_relink;
- int allow_relink; /* bool */
+ int allow_relink;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The secondary private IP or IPs you want to assign to the NIC within
* the IP range of the Subnet.
*/
char *private_ips_str;
- char **private_ips; /* array string */
+ char **private_ips;
/*
* The number of secondary private IPs to assign to the NIC.
*/
int is_set_secondary_private_ip_count;
- int secondary_private_ip_count; /* int */
+ int secondary_private_ip_count;
};
struct osc_link_policy_arg {
@@ -11009,19 +11219,19 @@ struct osc_link_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The name of the user you want to link the policy to (between 1 and 64
* characters).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_link_nic_arg {
@@ -11031,21 +11241,21 @@ struct osc_link_nic_arg {
* `7`, both included).
*/
int is_set_device_number;
- int device_number; /* int */
+ int device_number;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the NIC you want to attach.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The ID of the VM to which you want to attach the NIC.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_link_managed_policy_to_user_group_arg {
@@ -11055,18 +11265,18 @@ struct osc_link_managed_policy_to_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The name of the group you want to link the policy to.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_link_load_balancer_backend_machines_arg {
@@ -11075,22 +11285,22 @@ struct osc_link_load_balancer_backend_machines_arg {
* One or more public IPs of backend VMs.
*/
char *backend_ips_str;
- char **backend_ips; /* array string */
+ char **backend_ips;
/*
* One or more IDs of backend VMs.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_link_internet_service_arg {
@@ -11100,15 +11310,15 @@ struct osc_link_internet_service_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Internet service you want to attach.
*/
- char *internet_service_id; /* string */
+ char *internet_service_id;
/*
* The ID of the Net to which you want to attach the Internet service.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct osc_link_flexible_gpu_arg {
@@ -11118,15 +11328,15 @@ struct osc_link_flexible_gpu_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the fGPU you want to attach.
*/
- char *flexible_gpu_id; /* string */
+ char *flexible_gpu_id;
/*
* The ID of the VM you want to attach the fGPU to.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_deregister_vms_in_load_balancer_arg {
@@ -11135,17 +11345,17 @@ struct osc_deregister_vms_in_load_balancer_arg {
* One or more IDs of backend VMs.
*/
char *backend_vm_ids_str;
- char **backend_vm_ids; /* array string */
+ char **backend_vm_ids;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_delete_vpn_connection_route_arg {
@@ -11154,17 +11364,17 @@ struct osc_delete_vpn_connection_route_arg {
* The network prefix of the route to delete, in CIDR notation (for
* example, `10.12.0.0/16`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the target VPN connection of the static route to delete.
*/
- char *vpn_connection_id; /* string */
+ char *vpn_connection_id;
};
struct osc_delete_vpn_connection_arg {
@@ -11174,11 +11384,11 @@ struct osc_delete_vpn_connection_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VPN connection you want to delete.
*/
- char *vpn_connection_id; /* string */
+ char *vpn_connection_id;
};
struct osc_delete_volume_arg {
@@ -11188,11 +11398,11 @@ struct osc_delete_volume_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the volume you want to delete.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct osc_delete_vms_arg {
@@ -11202,12 +11412,12 @@ struct osc_delete_vms_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more IDs of VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct osc_delete_vm_template_arg {
@@ -11217,11 +11427,11 @@ struct osc_delete_vm_template_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM template you want to delete.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
};
struct osc_delete_vm_group_arg {
@@ -11231,11 +11441,11 @@ struct osc_delete_vm_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the VM group you want to delete.
*/
- char *vm_group_id; /* string */
+ char *vm_group_id;
};
struct osc_delete_virtual_gateway_arg {
@@ -11245,11 +11455,11 @@ struct osc_delete_virtual_gateway_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the virtual gateway you want to delete.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct osc_delete_user_group_policy_arg {
@@ -11259,19 +11469,19 @@ struct osc_delete_user_group_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the policy document you want to delete.
*/
- char *policy_name; /* string */
+ char *policy_name;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
};
struct osc_delete_user_group_arg {
@@ -11281,21 +11491,21 @@ struct osc_delete_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* If true, forces the deletion of the user group even if it is not
* empty.
*/
int is_set_force;
- int force; /* bool */
+ int force;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *path; /* string */
+ char *path;
/*
* The name of the group you want to delete.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_delete_user_arg {
@@ -11305,11 +11515,11 @@ struct osc_delete_user_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the EIM user you want to delete.
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_delete_tags_arg {
@@ -11319,24 +11529,24 @@ struct osc_delete_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more resource IDs.
*/
char *resource_ids_str;
- char **resource_ids; /* array string */
+ char **resource_ids;
/*
* One or more tags to delete (if you set a tag value, only the tags
* matching exactly this value are deleted).
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct osc_delete_subnet_arg {
@@ -11346,11 +11556,11 @@ struct osc_delete_subnet_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Subnet you want to delete.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osc_delete_snapshot_arg {
@@ -11360,11 +11570,11 @@ struct osc_delete_snapshot_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the snapshot you want to delete.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
};
struct osc_delete_server_certificate_arg {
@@ -11374,11 +11584,11 @@ struct osc_delete_server_certificate_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the server certificate you want to delete.
*/
- char *name; /* string */
+ char *name;
};
struct osc_delete_security_group_rule_arg {
@@ -11388,18 +11598,18 @@ struct osc_delete_security_group_rule_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The direction of the flow: `Inbound` or `Outbound`. You can specify
* `Outbound` for Nets only.
*/
- char *flow; /* string */
+ char *flow;
/*
* The beginning of the port range for the TCP and UDP protocols, or an
* ICMP type number.
*/
int is_set_from_port_range;
- int from_port_range; /* int */
+ int from_port_range;
/*
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
* protocols). By default, `-1`. In a Net, this can also be an IP
@@ -11407,73 +11617,82 @@ struct osc_delete_security_group_rule_arg {
* website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
* mbers.xhtml).
*/
- char *ip_protocol; /* string */
+ char *ip_protocol;
/*
* The IP range for the security group rule, in CIDR notation (for
* example, `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* One or more rules you want to delete from the security group.
* Information about the security group rule.
- * -FromPortRange: int
- * The beginning of the port range for the TCP and UDP protocols,
- * or an ICMP type number.
- * -IpProtocol: string
+ * --Rules.INDEX.FromPortRange: int
+ * The beginning of the port range for the TCP and UDP protocols, or
+ * an
+ * ICMP type number.
+ * --Rules.INDEX.IpProtocol: string
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
- * protocols). By default, `-1`. In a Net, this can also be an IP
- * protocol number. For more information, see the [IANA.org
- * website](https://www.iana.org/assignments/protocol-numbers/proto
- * col-numbers.xhtml).
- * -IpRanges: array string
+ * protocols).
+ * By default, `-1`. In a Net, this can also be an IP protocol
+ * number. For
+ * more information, see the [IANA.org
+ *
+ * website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
+ * mber
+ * s.xhtml).
+ * --Rules.INDEX.IpRanges: array string
* One or more IP ranges for the security group rules, in CIDR
- * notation (for example, `10.0.0.0/16`).
- * -SecurityGroupsMembers: array ref SecurityGroupsMember
+ * notation
+ * (for example, `10.0.0.0/16`).
+ * --Rules.INDEX.SecurityGroupsMembers: array ref SecurityGroupsMember
* Information about one or more source or destination security
- * groups.
+ * groups.
* Information about a source or destination security group.
- * -AccountId: string
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.AccountId: string
* The account ID that owns the source or destination security
- * group.
- * -SecurityGroupId: string
+ * group.
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId:
+ * string
* The ID of a source or destination security group that you
- * want
- * to link to the security group of the rule.
- * -SecurityGroupName: string
+ * want to link
+ * to the security group of the rule.
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName:
+ * string
* (Public Cloud only) The name of a source or destination
- * security group that you want to link to the security group of
- * the rule.
- * -ServiceIds: array string
- * One or more service IDs to allow traffic from a Net to access
- * the corresponding OUTSCALE services. For more information, see
+ * security group
+ * that you want to link to the security group of the rule.
+ * --Rules.INDEX.ServiceIds: array string
+ * One or more service IDs to allow traffic from a Net to access the
+ * corresponding OUTSCALE services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
- * -ToPortRange: int
+ * --Rules.INDEX.ToPortRange: int
* The end of the port range for the TCP and UDP protocols, or an
- * ICMP code number.
+ * ICMP code
+ * number.
*/
char *rules_str;
int nb_rules;
- struct security_group_rule *rules; /* array ref SecurityGroupRule */
+ struct security_group_rule *rules;
/*
* The account ID of the owner of the security group you want to delete
* a rule from.
*/
- char *security_group_account_id_to_unlink; /* string */
+ char *security_group_account_id_to_unlink;
/*
* The ID of the security group you want to delete a rule from.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* The ID of the source security group. If you are in the Public Cloud,
* you can also specify the name of the source security group.
*/
- char *security_group_name_to_unlink; /* string */
+ char *security_group_name_to_unlink;
/*
* The end of the port range for the TCP and UDP protocols, or an ICMP
* code number.
*/
int is_set_to_port_range;
- int to_port_range; /* int */
+ int to_port_range;
};
struct osc_delete_security_group_arg {
@@ -11483,15 +11702,15 @@ struct osc_delete_security_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the security group you want to delete.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* The name of the security group.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
};
struct osc_delete_route_table_arg {
@@ -11501,11 +11720,11 @@ struct osc_delete_route_table_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the route table you want to delete.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
};
struct osc_delete_route_arg {
@@ -11513,17 +11732,17 @@ struct osc_delete_route_arg {
/*
* The exact IP range for the route.
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the route table from which you want to delete a route.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
};
struct osc_delete_public_ip_arg {
@@ -11533,16 +11752,16 @@ struct osc_delete_public_ip_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The public IP. In the public Cloud, this parameter is required.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* The ID representing the association of the public IP with the VM or
* the NIC. In a Net, this parameter is required.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
};
struct osc_delete_policy_version_arg {
@@ -11553,11 +11772,11 @@ struct osc_delete_policy_version_arg {
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* The ID of the version of the policy you want to delete.
*/
- char *version_id; /* string */
+ char *version_id;
};
struct osc_delete_policy_arg {
@@ -11567,14 +11786,14 @@ struct osc_delete_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The OUTSCALE Resource Name (ORN) of the policy you want to delete.
* For more information, see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
};
struct osc_delete_nic_arg {
@@ -11584,11 +11803,11 @@ struct osc_delete_nic_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the NIC you want to delete.
*/
- char *nic_id; /* string */
+ char *nic_id;
};
struct osc_delete_net_peering_arg {
@@ -11598,11 +11817,11 @@ struct osc_delete_net_peering_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net peering you want to delete.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
};
struct osc_delete_net_access_point_arg {
@@ -11612,11 +11831,11 @@ struct osc_delete_net_access_point_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net access point.
*/
- char *net_access_point_id; /* string */
+ char *net_access_point_id;
};
struct osc_delete_net_arg {
@@ -11626,11 +11845,11 @@ struct osc_delete_net_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net you want to delete.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct osc_delete_nat_service_arg {
@@ -11640,11 +11859,11 @@ struct osc_delete_nat_service_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the NAT service you want to delete.
*/
- char *nat_service_id; /* string */
+ char *nat_service_id;
};
struct osc_delete_load_balancer_tags_arg {
@@ -11654,21 +11873,21 @@ struct osc_delete_load_balancer_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more load balancer names.
*/
char *load_balancer_names_str;
- char **load_balancer_names; /* array string */
+ char **load_balancer_names;
/*
* One or more tags to delete from the load balancers.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
*/
char *tags_str;
int nb_tags;
- struct resource_load_balancer_tag *tags; /* array ref ResourceLoadBalancerTag */
+ struct resource_load_balancer_tag *tags;
};
struct osc_delete_load_balancer_policy_arg {
@@ -11678,15 +11897,15 @@ struct osc_delete_load_balancer_policy_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer for which you want to delete a policy.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The name of the policy you want to delete.
*/
- char *policy_name; /* string */
+ char *policy_name;
};
struct osc_delete_load_balancer_listeners_arg {
@@ -11696,16 +11915,16 @@ struct osc_delete_load_balancer_listeners_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer for which you want to delete listeners.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* One or more port numbers of the listeners you want to delete.
*/
char *load_balancer_ports_str;
- int *load_balancer_ports; /* array integer */
+ int *load_balancer_ports;
};
struct osc_delete_load_balancer_arg {
@@ -11715,11 +11934,11 @@ struct osc_delete_load_balancer_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer you want to delete.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_delete_listener_rule_arg {
@@ -11729,11 +11948,11 @@ struct osc_delete_listener_rule_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the rule you want to delete.
*/
- char *listener_rule_name; /* string */
+ char *listener_rule_name;
};
struct osc_delete_keypair_arg {
@@ -11743,11 +11962,11 @@ struct osc_delete_keypair_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the keypair you want to delete.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
};
struct osc_delete_internet_service_arg {
@@ -11757,11 +11976,11 @@ struct osc_delete_internet_service_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Internet service you want to delete.
*/
- char *internet_service_id; /* string */
+ char *internet_service_id;
};
struct osc_delete_image_arg {
@@ -11771,11 +11990,11 @@ struct osc_delete_image_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the OMI you want to delete.
*/
- char *image_id; /* string */
+ char *image_id;
};
struct osc_delete_flexible_gpu_arg {
@@ -11785,11 +12004,11 @@ struct osc_delete_flexible_gpu_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the fGPU you want to delete.
*/
- char *flexible_gpu_id; /* string */
+ char *flexible_gpu_id;
};
struct osc_delete_export_task_arg {
@@ -11799,11 +12018,11 @@ struct osc_delete_export_task_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the export task to delete.
*/
- char *export_task_id; /* string */
+ char *export_task_id;
};
struct osc_delete_direct_link_interface_arg {
@@ -11811,13 +12030,13 @@ struct osc_delete_direct_link_interface_arg {
/*
* The ID of the DirectLink interface you want to delete.
*/
- char *direct_link_interface_id; /* string */
+ char *direct_link_interface_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_direct_link_arg {
@@ -11825,13 +12044,13 @@ struct osc_delete_direct_link_arg {
/*
* The ID of the DirectLink you want to delete.
*/
- char *direct_link_id; /* string */
+ char *direct_link_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_dhcp_options_arg {
@@ -11839,13 +12058,13 @@ struct osc_delete_dhcp_options_arg {
/*
* The ID of the DHCP options set you want to delete.
*/
- char *dhcp_options_set_id; /* string */
+ char *dhcp_options_set_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_dedicated_group_arg {
@@ -11853,19 +12072,19 @@ struct osc_delete_dedicated_group_arg {
/*
* The ID of the dedicated group you want to delete.
*/
- char *dedicated_group_id; /* string */
+ char *dedicated_group_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* If true, forces the deletion of the dedicated group and all its
* dependencies.
*/
int is_set_force;
- int force; /* bool */
+ int force;
};
struct osc_delete_client_gateway_arg {
@@ -11873,13 +12092,13 @@ struct osc_delete_client_gateway_arg {
/*
* The ID of the client gateway you want to delete.
*/
- char *client_gateway_id; /* string */
+ char *client_gateway_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_ca_arg {
@@ -11887,13 +12106,13 @@ struct osc_delete_ca_arg {
/*
* The ID of the CA you want to delete.
*/
- char *ca_id; /* string */
+ char *ca_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_api_access_rule_arg {
@@ -11901,13 +12120,13 @@ struct osc_delete_api_access_rule_arg {
/*
* The ID of the API access rule you want to delete.
*/
- char *api_access_rule_id; /* string */
+ char *api_access_rule_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_delete_access_key_arg {
@@ -11915,19 +12134,19 @@ struct osc_delete_access_key_arg {
/*
* The ID of the access key you want to delete.
*/
- char *access_key_id; /* string */
+ char *access_key_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the EIM user the access key you want to delete is
* associated with. By default, the user who sends the request (which
* can be the root account).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_create_vpn_connection_route_arg {
@@ -11936,17 +12155,17 @@ struct osc_create_vpn_connection_route_arg {
* The network prefix of the route, in CIDR notation (for example,
* `10.12.0.0/16`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the target VPN connection of the static route.
*/
- char *vpn_connection_id; /* string */
+ char *vpn_connection_id;
};
struct osc_create_vpn_connection_arg {
@@ -11954,17 +12173,17 @@ struct osc_create_vpn_connection_arg {
/*
* The ID of the client gateway.
*/
- char *client_gateway_id; /* string */
+ char *client_gateway_id;
/*
* The type of VPN connection (only `ipsec.1` is supported).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* By default or if false, the VPN connection uses dynamic routing with
* Border Gateway Protocol (BGP). If true, routing is controlled using
@@ -11974,11 +12193,11 @@ struct osc_create_vpn_connection_arg {
* [DeleteVpnConnectionRoute](#deletevpnconnectionroute).
*/
int is_set_static_routes_only;
- int static_routes_only; /* bool */
+ int static_routes_only;
/*
* The ID of the virtual gateway.
*/
- char *virtual_gateway_id; /* string */
+ char *virtual_gateway_id;
};
struct osc_create_volume_arg {
@@ -11988,7 +12207,7 @@ struct osc_create_volume_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The number of I/O operations per second (IOPS). This parameter must
* be specified only if you create an `io1` volume. The maximum number
@@ -11996,22 +12215,22 @@ struct osc_create_volume_arg {
* performance ratio of 300 IOPS per gibibyte.
*/
int is_set_iops;
- int iops; /* int */
+ int iops;
/*
* The size of the volume, in gibibytes (GiB). The maximum allowed size
* for a volume is 14901 GiB. This parameter is required if the volume
* is not created from a snapshot (`SnapshotId` unspecified).
*/
int is_set_size;
- int size; /* int */
+ int size;
/*
* The ID of the snapshot from which you want to create the volume.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
/*
* The Subregion in which you want to create the volume.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
/*
* The type of volume you want to create (`io1` \\| `gp2` \\|
* `standard`). If not specified, a `standard` volume is created.
\nIf you
- * specify a snapshot ID, the volume size must be at least equal
- * to the snapshot size.
\nIf you specify a snapshot ID but
- * no volume size, the volume is created with a size similar to
- * the snapshot one.
- * -VolumeType: string
+ * specify a
+ * snapshot ID, the volume size must be at least equal to the
+ * snapshot
+ * size.
\nIf you specify a snapshot ID but no volume size,
+ * the volume
+ * is created with a size similar to the snapshot one.
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeType: string
* The type of the volume (`standard` \\| `io1` \\| `gp2`). If
- * not specified in the request, a `standard` volume is
- * created.
\nFor more information about volume types, see
- * [About Volumes > Volume Types and
+ * not
+ * specified in the request, a `standard` volume is created.
\nFor more
+ * information about volume types, see [About Volumes > Volume
+ * Types and
*
- * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#
- * _volume_types_and_iops).
- * -DeviceName: string
- * The device name for the volume. For a root device, you must
- * use `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
- * `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X`
- * is a letter between `b` and `z`, and the second `X` is a letter
- * between `a` and `z`).
- * -NoDevice: string
- * Removes the device which is included in the block device
- * mapping of the OMI.
- * -VirtualDeviceName: string
+ * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
+ * e_ty
+ * pes_and_iops).
+ * --BlockDeviceMappings.INDEX.DeviceName: string
+ * The device name for the volume. For a root device, you must use
+ * `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
+ * `/dev/sdXX`,
+ * `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter
+ * between `b`
+ * and `z`, and the second `X` is a letter between `a` and `z`).
+ * --BlockDeviceMappings.INDEX.NoDevice: string
+ * Removes the device which is included in the block device mapping
+ * of the
+ * OMI.
+ * --BlockDeviceMappings.INDEX.VirtualDeviceName: string
* The name of the virtual device (`ephemeralN`).
*/
char *block_device_mappings_str;
int nb_block_device_mappings;
- struct block_device_mapping_vm_creation *block_device_mappings; /* array ref BlockDeviceMappingVmCreation */
+ struct block_device_mapping_vm_creation *block_device_mappings;
/*
* By default or if true, the VM is started on creation. If false, the
* VM is stopped on creation.
*/
int is_set_boot_on_creation;
- int boot_on_creation; /* bool */
+ int boot_on_creation;
/*
* This parameter is not available. It is present in our API for the
* sake of historical compatibility with AWS.
*/
int is_set_bsu_optimized;
- int bsu_optimized; /* bool */
+ int bsu_optimized;
/*
* A unique identifier which enables you to manage the idempotency.
*/
- char *client_token; /* string */
+ char *client_token;
/*
* If true, you cannot delete the VM unless you change this parameter
* back to false.
*/
int is_set_deletion_protection;
- int deletion_protection; /* bool */
+ int deletion_protection;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the OMI used to create the VM. You can find the list of
* OMIs by calling the [ReadImages](#readimages) method.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* The name of the keypair.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The maximum number of VMs you want to create. If all the VMs cannot
* be created, the largest possible number of VMs above MinVmsCount is
* created.
*/
int is_set_max_vms_count;
- int max_vms_count; /* int */
+ int max_vms_count;
/*
* The minimum number of VMs you want to create. If this number of VMs
* cannot be created, no VMs are created.
*/
int is_set_min_vms_count;
- int min_vms_count; /* int */
+ int min_vms_count;
/*
* (dedicated tenancy only) If true, nested virtualization is enabled.
* If false, it is disabled.
*/
int is_set_nested_virtualization;
- int nested_virtualization; /* bool */
+ int nested_virtualization;
/*
* One or more NICs. If you specify this parameter, you must not specify
* the `SubnetId` and `SubregionName` parameters. You also must define
* one NIC as the primary network interface of the VM with `0` as its
* device number.
- * Information about the network interface card (NIC) when
- * creating a virtual machine (VM).
- * -DeleteOnVmDeletion: bool
+ * Information about the network interface card (NIC) when creating a
+ * virtual machine (VM).
+ * --Nics.INDEX.DeleteOnVmDeletion: bool
* If true, the NIC is deleted when the VM is terminated. You can
- * specify this parameter only for a new NIC. To modify this value
- * for an existing NIC, see [UpdateNic](#updatenic).
- * -Description: string
+ * specify
+ * this parameter only for a new NIC. To modify this value for an
+ * existing
+ * NIC, see [UpdateNic](#updatenic).
+ * --Nics.INDEX.Description: string
* The description of the NIC, if you are creating a NIC when
- * creating the VM.
- * -DeviceNumber: int
+ * creating the
+ * VM.
+ * --Nics.INDEX.DeviceNumber: int
* The index of the VM device for the NIC attachment (between `0`
- * and `7`, both included). This parameter is required if you
- * create a NIC when creating the VM.
- * -NicId: string
+ * and `7`,
+ * both included). This parameter is required if you create a NIC
+ * when
+ * creating the VM.
+ * --Nics.INDEX.NicId: string
* The ID of the NIC, if you are attaching an existing NIC when
- * creating a VM.
- * -PrivateIps: array ref PrivateIpLight
- * One or more private IPs to assign to the NIC, if you create a
- * NIC when creating a VM. Only one private IP can be the primary
- * private IP.
+ * creating a
+ * VM.
+ * --Nics.INDEX.PrivateIps: array ref PrivateIpLight
+ * One or more private IPs to assign to the NIC, if you create a NIC
+ * when
+ * creating a VM. Only one private IP can be the primary private IP.
* Information about the private IP.
- * -IsPrimary: bool
+ * --Nics.INDEX.PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -PrivateIp: string
+ * --Nics.INDEX.PrivateIps.INDEX.PrivateIp: string
* The private IP of the NIC.
- * -SecondaryPrivateIpCount: int
+ * --Nics.INDEX.SecondaryPrivateIpCount: int
* The number of secondary private IPs, if you create a NIC when
- * creating a VM. This parameter cannot be specified if you
- * specified more than one private IP in the `PrivateIps`
- * parameter.
- * -SecurityGroupIds: array string
- * One or more IDs of security groups for the NIC, if you create
- * a NIC when creating a VM.
- * -SubnetId: string
+ * creating a
+ * VM. This parameter cannot be specified if you specified more than
+ * one
+ * private IP in the `PrivateIps` parameter.
+ * --Nics.INDEX.SecurityGroupIds: array string
+ * One or more IDs of security groups for the NIC, if you create a
+ * NIC when
+ * creating a VM.
+ * --Nics.INDEX.SubnetId: string
* The ID of the Subnet for the NIC, if you create a NIC when
- * creating a VM. This parameter is required if you create a NIC
- * when creating the VM.
+ * creating a
+ * VM. This parameter is required if you create a NIC when creating
+ * the VM.
*/
char *nics_str;
int nb_nics;
- struct nic_for_vm_creation *nics; /* array ref NicForVmCreation */
+ struct nic_for_vm_creation *nics;
/*
* The performance of the VM (`medium` \\| `high` \\| `highest`). By
* default, `high`. This parameter is ignored if you specify a
* performance flag directly in the `VmType` parameter.
*/
- char *performance; /* string */
+ char *performance;
/*
* Information about the placement of the VM.
- * -SubregionName: string
+ * --Placement.SubregionName: string
* The name of the Subregion. If you specify this parameter, you
- * must not specify the `Nics` parameter.
- * -Tenancy: string
+ * must not
+ * specify the `Nics` parameter.
+ * --Placement.Tenancy: string
* The tenancy of the VM (`default`, `dedicated`, or a dedicated
- * group ID).
+ * group ID).
*/
char *placement_str;
int is_set_placement;
- struct placement placement; /* ref Placement */
+ struct placement placement;
/*
* One or more private IPs of the VM.
*/
char *private_ips_str;
- char **private_ips; /* array string */
+ char **private_ips;
/*
* One or more IDs of security group for the VMs.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* One or more names of security groups for the VMs.
*/
char *security_groups_str;
- char **security_groups; /* array string */
+ char **security_groups;
/*
* The ID of the Subnet in which you want to create the VM. If you
* specify this parameter, you must not specify the `Nics` parameter.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* Data or script used to add a specific configuration to the VM. It
* must be Base64-encoded and is limited to 500 kibibytes (KiB).
*/
- char *user_data; /* string */
+ char *user_data;
/*
* The VM behavior when you stop it. By default or if set to `stop`, the
* VM stops. If set to `restart`, the VM stops then automatically
* restarts. If set to `terminate`, the VM stops and is terminated.
*/
- char *vm_initiated_shutdown_behavior; /* string */
+ char *vm_initiated_shutdown_behavior;
/*
* The type of VM. You can specify a TINA type (in the `tinavW.cXrYpZ`
* or `tinavW.cXrY` format), or an AWS type (for example, `t2.small`,
@@ -12233,7 +12472,7 @@ struct osc_create_vms_arg {
* parameter. For more information, see [VM
* Types](https://docs.outscale.com/en/userguide/VM-Types.html).
*/
- char *vm_type; /* string */
+ char *vm_type;
};
struct osc_create_vm_template_arg {
@@ -12242,54 +12481,54 @@ struct osc_create_vm_template_arg {
* The number of vCores to use for each VM.
*/
int is_set_cpu_cores;
- int cpu_cores; /* int */
+ int cpu_cores;
/*
* The processor generation to use for each VM (for example, `v4`).
*/
- char *cpu_generation; /* string */
+ char *cpu_generation;
/*
* The performance of the VMs (`medium` \\| `high` \\| `highest`).
*/
- char *cpu_performance; /* string */
+ char *cpu_performance;
/*
* A description for the VM template.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the OMI to use for each VM. You can find a list of OMIs by
* calling the [ReadImages](#readimages) method.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* The name of the keypair to use for each VM.
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The amount of RAM to use for each VM.
*/
int is_set_ram;
- int ram; /* int */
+ int ram;
/*
* One or more tags to add to the VM template.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The name of the VM template.
*/
- char *vm_template_name; /* string */
+ char *vm_template_name;
};
struct osc_create_vm_group_arg {
@@ -12297,13 +12536,13 @@ struct osc_create_vm_group_arg {
/*
* A description for the VM group.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The positioning strategy of VMs on hypervisors. By default, or if set
* to `no-strategy` our orchestrator determines the most adequate
@@ -12312,40 +12551,40 @@ struct osc_create_vm_group_arg {
* `repulse`, your VMs are deployed on a different hypervisor, which
* improves fault tolerance.
*/
- char *positioning_strategy; /* string */
+ char *positioning_strategy;
/*
* One or more IDs of security groups for the VM group.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The ID of the Subnet in which you want to create the VM group.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
/*
* One or more tags to add to the VM group.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
/*
* The number of VMs deployed in the VM group.
*/
int is_set_vm_count;
- int vm_count; /* int */
+ int vm_count;
/*
* The name of the VM group.
*/
- char *vm_group_name; /* string */
+ char *vm_group_name;
/*
* The ID of the VM template used to launch VMs in the VM group.
*/
- char *vm_template_id; /* string */
+ char *vm_template_id;
};
struct osc_create_virtual_gateway_arg {
@@ -12354,13 +12593,13 @@ struct osc_create_virtual_gateway_arg {
* The type of VPN connection supported by the virtual gateway (only
* `ipsec.1` is supported).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_create_user_group_arg {
@@ -12370,15 +12609,15 @@ struct osc_create_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *path; /* string */
+ char *path;
/*
* The name of the group.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
};
struct osc_create_user_arg {
@@ -12388,20 +12627,20 @@ struct osc_create_user_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The path to the EIM user you want to create (by default, `/`). This
* path name must begin and end with a slash (`/`), and contain between
* 1 and 512 alphanumeric characters and/or slashes (`/`), or
* underscores (_).
*/
- char *path; /* string */
+ char *path;
/*
* The name of the EIM user. This user name must contain between 1 and
* 64 alphanumeric characters and/or pluses (+), equals (=), commas (,),
* periods (.), at signs (@), dashes (-), or underscores (_).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_create_tags_arg {
@@ -12411,23 +12650,23 @@ struct osc_create_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more resource IDs.
*/
char *resource_ids_str;
- char **resource_ids; /* array string */
+ char **resource_ids;
/*
* One or more tags to add to the specified resources.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct osc_create_subnet_arg {
@@ -12437,7 +12676,7 @@ struct osc_create_subnet_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The IP range in the Subnet, in CIDR notation (for example,
* `10.0.0.0/16`).
\nThe IP range of the Subnet can be either the
@@ -12447,15 +12686,15 @@ struct osc_create_subnet_arg {
* uses a /29 netmask (eight IPs). For more information, see [About
* Nets](https://docs.outscale.com/en/userguide/About-Nets.html).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* The ID of the Net for which you want to create a Subnet.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The name of the Subregion in which you want to create the Subnet.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
};
struct osc_create_snapshot_export_task_arg {
@@ -12465,34 +12704,33 @@ struct osc_create_snapshot_export_task_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Information about the OOS export task to create.
- * -DiskImageFormat: string
+ * --OsuExport.DiskImageFormat: string
* The format of the export disk (`qcow2` \\| `raw`).
- * -OsuApiKey: ref OsuApiKey
+ * --OsuExport.OsuApiKey: ref OsuApiKey
* Information about the OOS API key.
- * -ApiKeyId: string
+ * --OsuExport.OsuApiKey.ApiKeyId: string
* The API key of the OOS account that enables you to access the
- * bucket.
- * -SecretKey: string
+ * bucket.
+ * --OsuExport.OsuApiKey.SecretKey: string
* The secret key of the OOS account that enables you to access
- * the bucket.
- * -OsuBucket: string
- * The name of the OOS bucket where you want to export the
- * object.
- * -OsuManifestUrl: string
+ * the bucket.
+ * --OsuExport.OsuBucket: string
+ * The name of the OOS bucket where you want to export the object.
+ * --OsuExport.OsuManifestUrl: string
* The URL of the manifest file.
- * -OsuPrefix: string
+ * --OsuExport.OsuPrefix: string
* The prefix for the key of the OOS object.
*/
char *osu_export_str;
int is_set_osu_export;
- struct osu_export_to_create osu_export; /* ref OsuExportToCreate */
+ struct osu_export_to_create osu_export;
/*
* The ID of the snapshot to export.
*/
- char *snapshot_id; /* string */
+ char *snapshot_id;
};
struct osc_create_snapshot_arg {
@@ -12500,13 +12738,13 @@ struct osc_create_snapshot_arg {
/*
* A description for the snapshot.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* **(when importing from a bucket)** The pre-signed URL of the snapshot
* you want to import, or the normal URL of the snapshot if you have
@@ -12517,28 +12755,28 @@ struct osc_create_snapshot_arg {
* Objects](https://docs.outscale.com/en/userguide/Managing-Access-to-You
* r-Buckets-and-Objects.html).
*/
- char *file_location; /* string */
+ char *file_location;
/*
* **(when importing from a bucket)** The size of the snapshot you want
* to create in your account, in bytes. This size must be greater than
* or equal to the size of the original, uncompressed snapshot.
*/
int is_set_snapshot_size;
- int snapshot_size; /* int */
+ int snapshot_size;
/*
* **(when copying a snapshot)** The name of the source Region, which
* must be the same as the Region of your account.
*/
- char *source_region_name; /* string */
+ char *source_region_name;
/*
* **(when copying a snapshot)** The ID of the snapshot you want to copy.
*/
- char *source_snapshot_id; /* string */
+ char *source_snapshot_id;
/*
* **(when creating from a volume)** The ID of the volume you want to
* create a snapshot of.
*/
- char *volume_id; /* string */
+ char *volume_id;
};
struct osc_create_server_certificate_arg {
@@ -12548,36 +12786,36 @@ struct osc_create_server_certificate_arg {
* following syntax to make sure your certificate file is correctly
* parsed: `--Body="$(cat FILENAME)"`.
*/
- char *body; /* string */
+ char *body;
/*
* The PEM-encoded intermediate certification authorities.
With OSC
* CLI, use the following syntax to make sure your certificate chain
* file is correctly parsed: `--Chain="$(cat FILENAME)"`.
*/
- char *chain; /* string */
+ char *chain;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A unique name for the certificate. Constraints: 1-128 alphanumeric
* characters, pluses (+), equals (=), commas (,), periods (.), at signs
* (@), minuses (-), or underscores (_).
*/
- char *name; /* string */
+ char *name;
/*
* The path to the server certificate, set to a slash (/) if not
* specified.
*/
- char *path; /* string */
+ char *path;
/*
* The PEM-encoded private key matching the certificate.
With OSC
* CLI, use the following syntax to make sure your key file is correctly
* parsed: `--PrivateKey="$(cat FILENAME)"`.
*/
- char *private_key; /* string */
+ char *private_key;
};
struct osc_create_security_group_rule_arg {
@@ -12587,19 +12825,19 @@ struct osc_create_security_group_rule_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The direction of the flow: `Inbound` or `Outbound`. You can specify
* `Outbound` for Nets only.
*/
- char *flow; /* string */
+ char *flow;
/*
* The beginning of the port range for the TCP and UDP protocols, or an
* ICMP type number. If you specify this parameter, you cannot specify
* the `Rules` parameter and its subparameters.
*/
int is_set_from_port_range;
- int from_port_range; /* int */
+ int from_port_range;
/*
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
* protocols). By default, `-1`. In a Net, this can also be an IP
@@ -12608,78 +12846,87 @@ struct osc_create_security_group_rule_arg {
* mbers.xhtml). If you specify this parameter, you cannot specify the
* `Rules` parameter and its subparameters.
*/
- char *ip_protocol; /* string */
+ char *ip_protocol;
/*
* The IP range for the security group rule, in CIDR notation (for
* example, 10.0.0.0/16). If you specify this parameter, you cannot
* specify the `Rules` parameter and its subparameters.
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* Information about the security group rule to create. If you specify
* this parent parameter and its subparameters, you cannot specify the
* following parent parameters: `FromPortRange`, `IpProtocol`,
* `IpRange`, and `ToPortRange`.
* Information about the security group rule.
- * -FromPortRange: int
- * The beginning of the port range for the TCP and UDP protocols,
- * or an ICMP type number.
- * -IpProtocol: string
+ * --Rules.INDEX.FromPortRange: int
+ * The beginning of the port range for the TCP and UDP protocols, or
+ * an
+ * ICMP type number.
+ * --Rules.INDEX.IpProtocol: string
* The IP protocol name (`tcp`, `udp`, `icmp`, or `-1` for all
- * protocols). By default, `-1`. In a Net, this can also be an IP
- * protocol number. For more information, see the [IANA.org
- * website](https://www.iana.org/assignments/protocol-numbers/proto
- * col-numbers.xhtml).
- * -IpRanges: array string
+ * protocols).
+ * By default, `-1`. In a Net, this can also be an IP protocol
+ * number. For
+ * more information, see the [IANA.org
+ *
+ * website](https://www.iana.org/assignments/protocol-numbers/protocol-nu
+ * mber
+ * s.xhtml).
+ * --Rules.INDEX.IpRanges: array string
* One or more IP ranges for the security group rules, in CIDR
- * notation (for example, `10.0.0.0/16`).
- * -SecurityGroupsMembers: array ref SecurityGroupsMember
+ * notation
+ * (for example, `10.0.0.0/16`).
+ * --Rules.INDEX.SecurityGroupsMembers: array ref SecurityGroupsMember
* Information about one or more source or destination security
- * groups.
+ * groups.
* Information about a source or destination security group.
- * -AccountId: string
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.AccountId: string
* The account ID that owns the source or destination security
- * group.
- * -SecurityGroupId: string
+ * group.
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupId:
+ * string
* The ID of a source or destination security group that you
- * want
- * to link to the security group of the rule.
- * -SecurityGroupName: string
+ * want to link
+ * to the security group of the rule.
+ * --Rules.INDEX.SecurityGroupsMembers.INDEX.SecurityGroupName:
+ * string
* (Public Cloud only) The name of a source or destination
- * security group that you want to link to the security group of
- * the rule.
- * -ServiceIds: array string
- * One or more service IDs to allow traffic from a Net to access
- * the corresponding OUTSCALE services. For more information, see
+ * security group
+ * that you want to link to the security group of the rule.
+ * --Rules.INDEX.ServiceIds: array string
+ * One or more service IDs to allow traffic from a Net to access the
+ * corresponding OUTSCALE services. For more information, see
* [ReadNetAccessPointServices](#readnetaccesspointservices).
- * -ToPortRange: int
+ * --Rules.INDEX.ToPortRange: int
* The end of the port range for the TCP and UDP protocols, or an
- * ICMP code number.
+ * ICMP code
+ * number.
*/
char *rules_str;
int nb_rules;
- struct security_group_rule *rules; /* array ref SecurityGroupRule */
+ struct security_group_rule *rules;
/*
* The account ID that owns the source or destination security group
* specified in the `SecurityGroupNameToLink` parameter.
*/
- char *security_group_account_id_to_link; /* string */
+ char *security_group_account_id_to_link;
/*
* The ID of the security group for which you want to create a rule.
*/
- char *security_group_id; /* string */
+ char *security_group_id;
/*
* The ID of a source or destination security group that you want to
* link to the security group of the rule.
*/
- char *security_group_name_to_link; /* string */
+ char *security_group_name_to_link;
/*
* The end of the port range for the TCP and UDP protocols, or an ICMP
* code number. If you specify this parameter, you cannot specify the
* `Rules` parameter and its subparameters.
*/
int is_set_to_port_range;
- int to_port_range; /* int */
+ int to_port_range;
};
struct osc_create_security_group_arg {
@@ -12689,24 +12936,24 @@ struct osc_create_security_group_arg {
* contain between 1 and 255 characters. Allowed characters are `a-z`,
* `A-Z`, `0-9`, accented letters, spaces, and `_.-:/()#,@[]+=&;{}!$*`.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net for the security group.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* The name of the security group.
\nThis name must not start with
* `sg-`.
\nThis name must be unique and contain between 1 and 255
* characters. Allowed characters are `a-z`, `A-Z`, `0-9`, spaces, and
* `_.-:/()#,@[]+=&;{}!$*`.
*/
- char *security_group_name; /* string */
+ char *security_group_name;
};
struct osc_create_route_table_arg {
@@ -12716,11 +12963,11 @@ struct osc_create_route_table_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net for which you want to create a route table.
*/
- char *net_id; /* string */
+ char *net_id;
};
struct osc_create_route_arg {
@@ -12729,37 +12976,37 @@ struct osc_create_route_arg {
* The IP range used for the destination match, in CIDR notation (for
* example, `10.0.0.0/24`).
*/
- char *destination_ip_range; /* string */
+ char *destination_ip_range;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of an Internet service or virtual gateway attached to your Net.
*/
- char *gateway_id; /* string */
+ char *gateway_id;
/*
* The ID of a NAT service.
*/
- char *nat_service_id; /* string */
+ char *nat_service_id;
/*
* The ID of a Net peering.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
/*
* The ID of a NIC.
*/
- char *nic_id; /* string */
+ char *nic_id;
/*
* The ID of the route table for which you want to create a route.
*/
- char *route_table_id; /* string */
+ char *route_table_id;
/*
* The ID of a NAT VM in your Net (attached to exactly one NIC).
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_create_public_ip_arg {
@@ -12769,7 +13016,7 @@ struct osc_create_public_ip_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_create_product_type_arg {
@@ -12777,17 +13024,17 @@ struct osc_create_product_type_arg {
/*
* The description of the product type.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The vendor of the product type.
*/
- char *vendor; /* string */
+ char *vendor;
};
struct osc_create_policy_version_arg {
@@ -12798,20 +13045,20 @@ struct osc_create_policy_version_arg {
* Information](https://docs.outscale.com/en/userguide/EIM-Reference-Info
* rmation.html).
*/
- char *document; /* string */
+ char *document;
/*
* The OUTSCALE Resource Name (ORN) of the policy. For more information,
* see [Resource
* Identifiers](https://docs.outscale.com/en/userguide/Resource-Identifie
* rs.html).
*/
- char *policy_orn; /* string */
+ char *policy_orn;
/*
* If set to true, the new policy version is set as the default version
* and becomes the operative one.
*/
int is_set_set_as_default;
- int set_as_default; /* bool */
+ int set_as_default;
};
struct osc_create_policy_arg {
@@ -12819,28 +13066,28 @@ struct osc_create_policy_arg {
/*
* A description for the policy.
*/
- char *description; /* string */
+ char *description;
/*
* The policy document, corresponding to a JSON string that contains the
* policy. For more information, see [EIM Reference
* Information](https://docs.outscale.com/en/userguide/EIM-Reference-Info
* rmation.html).
*/
- char *document; /* string */
+ char *document;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The path of the policy.
*/
- char *path; /* string */
+ char *path;
/*
* The name of the policy.
*/
- char *policy_name; /* string */
+ char *policy_name;
};
struct osc_create_nic_arg {
@@ -12848,36 +13095,36 @@ struct osc_create_nic_arg {
/*
* A description for the NIC.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The primary private IP for the NIC.
\nThis IP must be within the
* IP range of the Subnet that you specify with the `SubnetId`
* attribute.
\nIf you do not specify this attribute, a random
* private IP is selected within the IP range of the Subnet.
* Information about the private IP.
- * -IsPrimary: bool
+ * --PrivateIps.INDEX.IsPrimary: bool
* If true, the IP is the primary private IP of the NIC.
- * -PrivateIp: string
+ * --PrivateIps.INDEX.PrivateIp: string
* The private IP of the NIC.
*/
char *private_ips_str;
int nb_private_ips;
- struct private_ip_light *private_ips; /* array ref PrivateIpLight */
+ struct private_ip_light *private_ips;
/*
* One or more IDs of security groups for the NIC.
*/
char *security_group_ids_str;
- char **security_group_ids; /* array string */
+ char **security_group_ids;
/*
* The ID of the Subnet in which you want to create the NIC.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osc_create_net_peering_arg {
@@ -12885,17 +13132,17 @@ struct osc_create_net_peering_arg {
/*
* The ID of the Net you want to connect with.
*/
- char *accepter_net_id; /* string */
+ char *accepter_net_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net you send the peering request from.
*/
- char *source_net_id; /* string */
+ char *source_net_id;
};
struct osc_create_net_access_point_arg {
@@ -12905,20 +13152,20 @@ struct osc_create_net_access_point_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net.
*/
- char *net_id; /* string */
+ char *net_id;
/*
* One or more IDs of route tables to use for the connection.
*/
char *route_table_ids_str;
- char **route_table_ids; /* array string */
+ char **route_table_ids;
/*
* The name of the service (in the format `com.outscale.region.service`).
*/
- char *service_name; /* string */
+ char *service_name;
};
struct osc_create_net_arg {
@@ -12928,12 +13175,12 @@ struct osc_create_net_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The IP range for the Net, in CIDR notation (for example,
* `10.0.0.0/16`).
*/
- char *ip_range; /* string */
+ char *ip_range;
/*
* The tenancy options for the VMs:
\n- `default` if a VM created
* in a Net can be launched with any tenancy.
\n- `dedicated` if it
@@ -12941,7 +13188,7 @@ struct osc_create_net_arg {
* hardware.
\n- `dedicated group ID`: if it can be launched in a
* dedicated group on single-tenant hardware.
*/
- char *tenancy; /* string */
+ char *tenancy;
};
struct osc_create_nat_service_arg {
@@ -12949,23 +13196,23 @@ struct osc_create_nat_service_arg {
/*
* A unique identifier which enables you to manage the idempotency.
*/
- char *client_token; /* string */
+ char *client_token;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The allocation ID of the public IP to associate with the NAT
* service.
\nIf the public IP is already associated with another
* resource, you must first disassociate it.
*/
- char *public_ip_id; /* string */
+ char *public_ip_id;
/*
* The ID of the Subnet in which you want to create the NAT service.
*/
- char *subnet_id; /* string */
+ char *subnet_id;
};
struct osc_create_load_balancer_tags_arg {
@@ -12975,23 +13222,23 @@ struct osc_create_load_balancer_tags_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more load balancer names.
*/
char *load_balancer_names_str;
- char **load_balancer_names; /* array string */
+ char **load_balancer_names;
/*
* One or more tags to add to the specified load balancers.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct osc_create_load_balancer_policy_arg {
@@ -13002,33 +13249,33 @@ struct osc_create_load_balancer_policy_arg {
* lasts for the duration of the browser session.
*/
int is_set_cookie_expiration_period;
- int cookie_expiration_period; /* int */
+ int cookie_expiration_period;
/*
* The name of the application cookie used for stickiness. This
* parameter is required if you create a stickiness policy based on an
* application-generated cookie.
*/
- char *cookie_name; /* string */
+ char *cookie_name;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the load balancer for which you want to create a policy.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The name of the policy. This name must be unique and consist of
* alphanumeric characters and dashes (-).
*/
- char *policy_name; /* string */
+ char *policy_name;
/*
* The type of stickiness policy you want to create: `app` or
* `load_balancer`.
*/
- char *policy_type; /* string */
+ char *policy_type;
};
struct osc_create_load_balancer_listeners_arg {
@@ -13038,35 +13285,39 @@ struct osc_create_load_balancer_listeners_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more listeners for the load balancer.
* Information about the listener to create.
- * -BackendPort: int
+ * --Listeners.INDEX.BackendPort: int
* The port on which the backend VM is listening (between `1` and
- * `65535`, both included).
- * -BackendProtocol: string
+ * `65535`,
+ * both included).
+ * --Listeners.INDEX.BackendProtocol: string
* The protocol for routing traffic to backend VMs (`HTTP` \\|
- * `HTTPS` \\| `TCP` \\| `SSL`).
- * -LoadBalancerPort: int
- * The port on which the load balancer is listening (between `1`
- * and `65535`, both included).
- * -LoadBalancerProtocol: string
+ * `HTTPS` \\|
+ * `TCP` \\| `SSL`).
+ * --Listeners.INDEX.LoadBalancerPort: int
+ * The port on which the load balancer is listening (between `1` and
+ * `65535`, both included).
+ * --Listeners.INDEX.LoadBalancerProtocol: string
* The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).
- * -ServerCertificateId: string
- * The OUTSCALE Resource Name (ORN) of the server certificate.
- * For more information, see [Resource Identifiers > OUTSCALE
- * Resource Names
- * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifi
- * ers.html#_outscale_resource_names_orns).
+ * --Listeners.INDEX.ServerCertificateId: string
+ * The OUTSCALE Resource Name (ORN) of the server certificate. For
+ * more
+ * information, see [Resource Identifiers > OUTSCALE Resource Names
+ *
+ * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
+ * ml#_
+ * outscale_resource_names_orns).
*/
char *listeners_str;
int nb_listeners;
- struct listener_for_creation *listeners; /* array ref ListenerForCreation */
+ struct listener_for_creation *listeners;
/*
* The name of the load balancer for which you want to create listeners.
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
};
struct osc_create_load_balancer_arg {
@@ -13076,61 +13327,65 @@ struct osc_create_load_balancer_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more listeners to create.
* Information about the listener to create.
- * -BackendPort: int
+ * --Listeners.INDEX.BackendPort: int
* The port on which the backend VM is listening (between `1` and
- * `65535`, both included).
- * -BackendProtocol: string
+ * `65535`,
+ * both included).
+ * --Listeners.INDEX.BackendProtocol: string
* The protocol for routing traffic to backend VMs (`HTTP` \\|
- * `HTTPS` \\| `TCP` \\| `SSL`).
- * -LoadBalancerPort: int
- * The port on which the load balancer is listening (between `1`
- * and `65535`, both included).
- * -LoadBalancerProtocol: string
+ * `HTTPS` \\|
+ * `TCP` \\| `SSL`).
+ * --Listeners.INDEX.LoadBalancerPort: int
+ * The port on which the load balancer is listening (between `1` and
+ * `65535`, both included).
+ * --Listeners.INDEX.LoadBalancerProtocol: string
* The routing protocol (`HTTP` \\| `HTTPS` \\| `TCP` \\| `SSL`).
- * -ServerCertificateId: string
- * The OUTSCALE Resource Name (ORN) of the server certificate.
- * For more information, see [Resource Identifiers > OUTSCALE
- * Resource Names
- * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifi
- * ers.html#_outscale_resource_names_orns).
+ * --Listeners.INDEX.ServerCertificateId: string
+ * The OUTSCALE Resource Name (ORN) of the server certificate. For
+ * more
+ * information, see [Resource Identifiers > OUTSCALE Resource Names
+ *
+ * (ORNs)](https://docs.outscale.com/en/userguide/Resource-Identifiers.ht
+ * ml#_
+ * outscale_resource_names_orns).
*/
char *listeners_str;
int nb_listeners;
- struct listener_for_creation *listeners; /* array ref ListenerForCreation */
+ struct listener_for_creation *listeners;
/*
* The unique name of the load balancer (32 alphanumeric or hyphen
* characters maximum, but cannot start or end with a hyphen).
*/
- char *load_balancer_name; /* string */
+ char *load_balancer_name;
/*
* The type of load balancer: `internet-facing` or `internal`. Use this
* parameter only for load balancers in a Net.
*/
- char *load_balancer_type; /* string */
+ char *load_balancer_type;
/*
* (internet-facing only) The public IP you want to associate with the
* load balancer. If not specified, a public IP owned by 3DS OUTSCALE is
* associated.
*/
- char *public_ip; /* string */
+ char *public_ip;
/*
* (Net only) One or more IDs of security groups you want to assign to
* the load balancer. If not specified, the default security group of
* the Net is assigned to the load balancer.
*/
char *security_groups_str;
- char **security_groups; /* array string */
+ char **security_groups;
/*
* (Net only) The ID of the Subnet in which you want to create the load
* balancer. Regardless of this Subnet, the load balancer can distribute
* traffic to all Subnets. This parameter is required in a Net.
*/
char *subnets_str;
- char **subnets; /* array string */
+ char **subnets;
/*
* (public Cloud only) The Subregion in which you want to create the
* load balancer. Regardless of this Subregion, the load balancer can
@@ -13138,18 +13393,18 @@ struct osc_create_load_balancer_arg {
* the public Cloud.
*/
char *subregion_names_str;
- char **subregion_names; /* array string */
+ char **subregion_names;
/*
* One or more tags assigned to the load balancer.
* Information about the tag.
- * -Key: string
+ * --Tags.INDEX.Key: string
* The key of the tag, with a minimum of 1 character.
- * -Value: string
+ * --Tags.INDEX.Value: string
* The value of the tag, between 0 and 255 characters.
*/
char *tags_str;
int nb_tags;
- struct resource_tag *tags; /* array ref ResourceTag */
+ struct resource_tag *tags;
};
struct osc_create_listener_rule_arg {
@@ -13159,48 +13414,50 @@ struct osc_create_listener_rule_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* Information about the load balancer.
- * -LoadBalancerName: string
- * The name of the load balancer to which the listener is
- * attached.
- * -LoadBalancerPort: int
- * The port of load balancer on which the load balancer is
- * listening (between `1` and `65535` both included).
+ * --Listener.LoadBalancerName: string
+ * The name of the load balancer to which the listener is attached.
+ * --Listener.LoadBalancerPort: int
+ * The port of load balancer on which the load balancer is listening
+ * (between `1` and `65535` both included).
*/
char *listener_str;
int is_set_listener;
- struct load_balancer_light listener; /* ref LoadBalancerLight */
+ struct load_balancer_light listener;
/*
* Information about the listener rule.
- * -Action: string
+ * --ListenerRule.Action: string
* The type of action for the rule (always `forward`).
- * -HostNamePattern: string
+ * --ListenerRule.HostNamePattern: string
* A host-name pattern for the rule, with a maximum length of 128
* characters. This host-name pattern supports maximum three
- * wildcards, and must not contain any special characters except
- * [-.?].
- * -ListenerRuleName: string
+ * wildcards, and
+ * must not contain any special characters except [-.?].
+ * --ListenerRule.ListenerRuleName: string
* A human-readable name for the listener rule.
- * -PathPattern: string
+ * --ListenerRule.PathPattern: string
* A path pattern for the rule, with a maximum length of 128
- * characters. This path pattern supports maximum three wildcards,
- * and must not contain any special characters except
- * [_-.$/~"'@:+?].
- * -Priority: int
- * The priority level of the listener rule, between `1` and
- * `19999` both included. Each rule must have a unique priority
- * level. Otherwise, an error is returned.
+ * characters.
+ * This path pattern supports maximum three wildcards, and must not
+ * contain
+ * any special characters except [_-.$/~"'@:+?].
+ * --ListenerRule.Priority: int
+ * The priority level of the listener rule, between `1` and `19999`
+ * both
+ * included. Each rule must have a unique priority level. Otherwise,
+ * an
+ * error is returned.
*/
char *listener_rule_str;
int is_set_listener_rule;
- struct listener_rule_for_creation listener_rule; /* ref ListenerRuleForCreation */
+ struct listener_rule_for_creation listener_rule;
/*
* The IDs of the backend VMs.
*/
char *vm_ids_str;
- char **vm_ids; /* array string */
+ char **vm_ids;
};
struct osc_create_keypair_arg {
@@ -13210,18 +13467,18 @@ struct osc_create_keypair_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A unique name for the keypair, with a maximum length of 255 [ASCII
* printable
* characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters).
*/
- char *keypair_name; /* string */
+ char *keypair_name;
/*
* The public key to import in your account, if you are importing an
* existing keypair. This value must be Base64-encoded.
*/
- char *public_key; /* string */
+ char *public_key;
};
struct osc_create_internet_service_arg {
@@ -13231,7 +13488,7 @@ struct osc_create_internet_service_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_create_image_export_task_arg {
@@ -13241,34 +13498,33 @@ struct osc_create_image_export_task_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the OMI to export.
*/
- char *image_id; /* string */
+ char *image_id;
/*
* Information about the OOS export task to create.
- * -DiskImageFormat: string
+ * --OsuExport.DiskImageFormat: string
* The format of the export disk (`qcow2` \\| `raw`).
- * -OsuApiKey: ref OsuApiKey
+ * --OsuExport.OsuApiKey: ref OsuApiKey
* Information about the OOS API key.
- * -ApiKeyId: string
+ * --OsuExport.OsuApiKey.ApiKeyId: string
* The API key of the OOS account that enables you to access the
- * bucket.
- * -SecretKey: string
+ * bucket.
+ * --OsuExport.OsuApiKey.SecretKey: string
* The secret key of the OOS account that enables you to access
- * the bucket.
- * -OsuBucket: string
- * The name of the OOS bucket where you want to export the
- * object.
- * -OsuManifestUrl: string
+ * the bucket.
+ * --OsuExport.OsuBucket: string
+ * The name of the OOS bucket where you want to export the object.
+ * --OsuExport.OsuManifestUrl: string
* The URL of the manifest file.
- * -OsuPrefix: string
+ * --OsuExport.OsuPrefix: string
* The prefix for the key of the OOS object.
*/
char *osu_export_str;
int is_set_osu_export;
- struct osu_export_to_create osu_export; /* ref OsuExportToCreate */
+ struct osu_export_to_create osu_export;
};
struct osc_create_image_arg {
@@ -13277,62 +13533,72 @@ struct osc_create_image_arg {
* **(when registering from a snapshot, or from a bucket without using a
* manifest file)** The architecture of the OMI (`i386` or `x86_64`).
*/
- char *architecture; /* string */
+ char *architecture;
/*
* **(when registering from a snapshot, or from a bucket without using a
* manifest file)** One or more block device mappings.
- * One or more parameters used to automatically set up volumes
- * when the VM is created.
- * -Bsu: ref BsuToCreate
+ * One or more parameters used to automatically set up volumes when
+ * the VM
+ * is created.
+ * --BlockDeviceMappings.INDEX.Bsu: ref BsuToCreate
* Information about the BSU volume to create.
- * -DeleteOnVmDeletion: bool
+ * --BlockDeviceMappings.INDEX.Bsu.DeleteOnVmDeletion: bool
* By default or if set to true, the volume is deleted when
- * terminating the VM. If false, the volume is not deleted when
- * terminating the VM.
- * -Iops: int
+ * terminating the
+ * VM. If false, the volume is not deleted when terminating the
+ * VM.
+ * --BlockDeviceMappings.INDEX.Bsu.Iops: int
* The number of I/O operations per second (IOPS). This
- * parameter
- * must be specified only if you create an `io1` volume. The
- * maximum number of IOPS allowed for `io1` volumes is `13000`
- * with a maximum performance ratio of 300 IOPS per gibibyte.
- * -SnapshotId: string
+ * parameter must be
+ * specified only if you create an `io1` volume. The maximum
+ * number of IOPS
+ * allowed for `io1` volumes is `13000` with a maximum
+ * performance ratio of
+ * 300 IOPS per gibibyte.
+ * --BlockDeviceMappings.INDEX.Bsu.SnapshotId: string
* The ID of the snapshot used to create the volume.
- * -VolumeSize: int
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeSize: int
* The size of the volume, in gibibytes (GiB).
\nIf you
- * specify a snapshot ID, the volume size must be at least equal
- * to the snapshot size.
\nIf you specify a snapshot ID but
- * no volume size, the volume is created with a size similar to
- * the snapshot one.
- * -VolumeType: string
+ * specify a
+ * snapshot ID, the volume size must be at least equal to the
+ * snapshot
+ * size.
\nIf you specify a snapshot ID but no volume size,
+ * the volume
+ * is created with a size similar to the snapshot one.
+ * --BlockDeviceMappings.INDEX.Bsu.VolumeType: string
* The type of the volume (`standard` \\| `io1` \\| `gp2`). If
- * not specified in the request, a `standard` volume is
- * created.
\nFor more information about volume types, see
- * [About Volumes > Volume Types and
+ * not
+ * specified in the request, a `standard` volume is created.
\nFor more
+ * information about volume types, see [About Volumes > Volume
+ * Types and
*
- * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#
- * _volume_types_and_iops).
- * -DeviceName: string
- * The device name for the volume. For a root device, you must
- * use `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
- * `/dev/sdXX`, `/dev/xvdX`, or `/dev/xvdXX` (where the first `X`
- * is a letter between `b` and `z`, and the second `X` is a letter
- * between `a` and `z`).
- * -VirtualDeviceName: string
+ * IOPS](https://docs.outscale.com/en/userguide/About-Volumes.html#_volum
+ * e_ty
+ * pes_and_iops).
+ * --BlockDeviceMappings.INDEX.DeviceName: string
+ * The device name for the volume. For a root device, you must use
+ * `/dev/sda1`. For other volumes, you must use `/dev/sdX`,
+ * `/dev/sdXX`,
+ * `/dev/xvdX`, or `/dev/xvdXX` (where the first `X` is a letter
+ * between `b`
+ * and `z`, and the second `X` is a letter between `a` and `z`).
+ * --BlockDeviceMappings.INDEX.VirtualDeviceName: string
* The name of the virtual device (`ephemeralN`).
*/
char *block_device_mappings_str;
int nb_block_device_mappings;
- struct block_device_mapping_image *block_device_mappings; /* array ref BlockDeviceMappingImage */
+ struct block_device_mapping_image *block_device_mappings;
/*
* A description for the new OMI.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* **(when registering from a bucket by using a manifest file)** The
* pre-signed URL of the manifest file for the OMI you want to register.
@@ -13346,43 +13612,43 @@ struct osc_create_image_arg {
* specify through the other parameters all the information that would
* otherwise be read from the manifest file.
*/
- char *file_location; /* string */
+ char *file_location;
/*
* A unique name for the new OMI.
\nConstraints: 3-128 alphanumeric
* characters, underscores (`_`), spaces (` `), parentheses (`()`),
* slashes (`/`), periods (`.`), or dashes (`-`).
*/
- char *image_name; /* string */
+ char *image_name;
/*
* **(when creating from a VM)** If false, the VM shuts down before
* creating the OMI and then reboots. If true, the VM does not.
*/
int is_set_no_reboot;
- int no_reboot; /* bool */
+ int no_reboot;
/*
* The product codes associated with the OMI.
*/
char *product_codes_str;
- char **product_codes; /* array string */
+ char **product_codes;
/*
* **(when registering from a snapshot, or from a bucket without using a
* manifest file)** The name of the root device for the new OMI.
*/
- char *root_device_name; /* string */
+ char *root_device_name;
/*
* **(when copying an OMI)** The ID of the OMI you want to copy.
*/
- char *source_image_id; /* string */
+ char *source_image_id;
/*
* **(when copying an OMI)** The name of the source Region (always the
* same as the Region of your account).
*/
- char *source_region_name; /* string */
+ char *source_region_name;
/*
* **(when creating from a VM)** The ID of the VM from which you want to
* create the OMI.
*/
- char *vm_id; /* string */
+ char *vm_id;
};
struct osc_create_flexible_gpu_arg {
@@ -13391,31 +13657,31 @@ struct osc_create_flexible_gpu_arg {
* If true, the fGPU is deleted when the VM is terminated.
*/
int is_set_delete_on_vm_deletion;
- int delete_on_vm_deletion; /* bool */
+ int delete_on_vm_deletion;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The processor generation that the fGPU must be compatible with. If
* not specified, the oldest possible processor generation is selected
* (as provided by [ReadFlexibleGpuCatalog](#readflexiblegpucatalog) for
* the specified model of fGPU).
*/
- char *generation; /* string */
+ char *generation;
/*
* The model of fGPU you want to allocate. For more information, see
* [About Flexible
* GPUs](https://docs.outscale.com/en/userguide/About-Flexible-GPUs.html)
* .
*/
- char *model_name; /* string */
+ char *model_name;
/*
* The Subregion in which you want to create the fGPU.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
};
struct osc_create_direct_link_interface_arg {
@@ -13424,36 +13690,39 @@ struct osc_create_direct_link_interface_arg {
* The ID of the existing DirectLink for which you want to create the
* DirectLink interface.
*/
- char *direct_link_id; /* string */
+ char *direct_link_id;
/*
* Information about the DirectLink interface.
- * -BgpAsn: int
- * The BGP (Border Gateway Protocol) ASN (Autonomous System
- * Number) on the customer's side of the DirectLink interface.
- * This number must be between `64512` and `65534`.
- * -BgpKey: string
+ * --DirectLinkInterface.BgpAsn: int
+ * The BGP (Border Gateway Protocol) ASN (Autonomous System Number)
+ * on the
+ * customer's side of the DirectLink interface. This number must be
+ * between
+ * `64512` and `65534`.
+ * --DirectLinkInterface.BgpKey: string
* The BGP authentication key.
- * -ClientPrivateIp: string
+ * --DirectLinkInterface.ClientPrivateIp: string
* The IP on the customer's side of the DirectLink interface.
- * -DirectLinkInterfaceName: string
+ * --DirectLinkInterface.DirectLinkInterfaceName: string
* The name of the DirectLink interface.
- * -OutscalePrivateIp: string
+ * --DirectLinkInterface.OutscalePrivateIp: string
* The IP on the OUTSCALE side of the DirectLink interface.
- * -VirtualGatewayId: string
+ * --DirectLinkInterface.VirtualGatewayId: string
* The ID of the target virtual gateway.
- * -Vlan: int
+ * --DirectLinkInterface.Vlan: int
* The VLAN number associated with the DirectLink interface. This
- * number must be unique and be between `2` and `4094`.
+ * number
+ * must be unique and be between `2` and `4094`.
*/
char *direct_link_interface_str;
int is_set_direct_link_interface;
- struct direct_link_interface direct_link_interface; /* ref DirectLinkInterface */
+ struct direct_link_interface direct_link_interface;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_create_direct_link_arg {
@@ -13461,22 +13730,22 @@ struct osc_create_direct_link_arg {
/*
* The bandwidth of the DirectLink (`1Gbps` \\| `10Gbps`).
*/
- char *bandwidth; /* string */
+ char *bandwidth;
/*
* The name of the DirectLink.
*/
- char *direct_link_name; /* string */
+ char *direct_link_name;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The code of the requested location for the DirectLink, returned by
* the [ReadLocations](#readlocations) method.
*/
- char *location; /* string */
+ char *location;
};
struct osc_create_dhcp_options_arg {
@@ -13487,7 +13756,7 @@ struct osc_create_dhcp_options_arg {
* parameters: `DomainName`, `DomainNameServers`, `LogServers`, or
* `NtpServers`.
*/
- char *domain_name; /* string */
+ char *domain_name;
/*
* The IPs of domain name servers. If no IPs are specified, the
* `OutscaleProvidedDNS` value is set by default. You must specify at
@@ -13495,27 +13764,27 @@ struct osc_create_dhcp_options_arg {
* `DomainNameServers`, `LogServers`, or `NtpServers`.
*/
char *domain_name_servers_str;
- char **domain_name_servers; /* array string */
+ char **domain_name_servers;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The IPs of the log servers. You must specify at least one of the
* following parameters: `DomainName`, `DomainNameServers`,
* `LogServers`, or `NtpServers`.
*/
char *log_servers_str;
- char **log_servers; /* array string */
+ char **log_servers;
/*
* The IPs of the Network Time Protocol (NTP) servers. You must specify
* at least one of the following parameters: `DomainName`,
* `DomainNameServers`, `LogServers`, or `NtpServers`.
*/
char *ntp_servers_str;
- char **ntp_servers; /* array string */
+ char **ntp_servers;
};
struct osc_create_dedicated_group_arg {
@@ -13525,21 +13794,21 @@ struct osc_create_dedicated_group_arg {
* example, `4`).
*/
int is_set_cpu_generation;
- int cpu_generation; /* int */
+ int cpu_generation;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* A name for the dedicated group.
*/
- char *name; /* string */
+ char *name;
/*
* The Subregion in which you want to create the dedicated group.
*/
- char *subregion_name; /* string */
+ char *subregion_name;
};
struct osc_create_client_gateway_arg {
@@ -13552,22 +13821,22 @@ struct osc_create_client_gateway_arg {
* or between 4200000000 and 4294967294.
*/
int is_set_bgp_asn;
- int bgp_asn; /* int */
+ int bgp_asn;
/*
* The communication protocol used to establish tunnel with your client
* gateway (only `ipsec.1` is supported).
*/
- char *connection_type; /* string */
+ char *connection_type;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The public fixed IPv4 address of your client gateway.
*/
- char *public_ip; /* string */
+ char *public_ip;
};
struct osc_create_ca_arg {
@@ -13577,17 +13846,17 @@ struct osc_create_ca_arg {
* make sure your CA file is correctly parsed: `--CaPem="$(cat
* FILENAME)"`.
*/
- char *ca_pem; /* string */
+ char *ca_pem;
/*
* The description of the CA.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
};
struct osc_create_api_access_rule_arg {
@@ -13596,28 +13865,28 @@ struct osc_create_api_access_rule_arg {
* One or more IDs of Client Certificate Authorities (CAs).
*/
char *ca_ids_str;
- char **ca_ids; /* array string */
+ char **ca_ids;
/*
* One or more Client Certificate Common Names (CNs). If this parameter
* is specified, you must also specify the `CaIds` parameter.
*/
char *cns_str;
- char **cns; /* array string */
+ char **cns;
/*
* A description for the API access rule.
*/
- char *description; /* string */
+ char *description;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* One or more IPs or CIDR blocks (for example, `192.0.2.0/16`).
*/
char *ip_ranges_str;
- char **ip_ranges; /* array string */
+ char **ip_ranges;
};
struct osc_create_account_arg {
@@ -13629,66 +13898,66 @@ struct osc_create_account_arg {
* it. To remove all registered additional emails, specify an empty list.
*/
char *additional_emails_str;
- char **additional_emails; /* array string */
+ char **additional_emails;
/*
* The city of the account owner.
*/
- char *city; /* string */
+ char *city;
/*
* The name of the company for the account.
*/
- char *company_name; /* string */
+ char *company_name;
/*
* The country of the account owner.
*/
- char *country; /* string */
+ char *country;
/*
* The ID of the customer. It must be 8 digits.
*/
- char *customer_id; /* string */
+ char *customer_id;
/*
* If true, checks whether you have the required permissions to perform
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The main email address for the account. This address is used for your
* credentials and notifications.
*/
- char *email; /* string */
+ char *email;
/*
* The first name of the account owner.
*/
- char *first_name; /* string */
+ char *first_name;
/*
* The job title of the account owner.
*/
- char *job_title; /* string */
+ char *job_title;
/*
* The last name of the account owner.
*/
- char *last_name; /* string */
+ char *last_name;
/*
* The mobile phone number of the account owner.
*/
- char *mobile_number; /* string */
+ char *mobile_number;
/*
* The landline phone number of the account owner.
*/
- char *phone_number; /* string */
+ char *phone_number;
/*
* The state/province of the account.
*/
- char *state_province; /* string */
+ char *state_province;
/*
* The value added tax (VAT) number for the account.
*/
- char *vat_number; /* string */
+ char *vat_number;
/*
* The ZIP code of the city.
*/
- char *zip_code; /* string */
+ char *zip_code;
};
struct osc_create_access_key_arg {
@@ -13698,20 +13967,20 @@ struct osc_create_access_key_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The date and time, or the date, at which you want the access key to
* expire, in ISO 8601 format (for example, `2020-06-14T00:00:00.000Z`,
* or `2020-06-14`). To remove an existing expiration date, use the
* method without specifying this parameter.
*/
- char *expiration_date; /* string */
+ char *expiration_date;
/*
* The name of the EIM user that owns the key to be created. If you do
* not specify a user name, this action creates an access key for the
* user who sends the request (which can be the root account).
*/
- char *user_name; /* string */
+ char *user_name;
};
struct osc_check_authentication_arg {
@@ -13721,15 +13990,15 @@ struct osc_check_authentication_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The email address of the account.
*/
- char *login; /* string */
+ char *login;
/*
* The password of the account.
*/
- char *password; /* string */
+ char *password;
};
struct osc_add_user_to_user_group_arg {
@@ -13739,23 +14008,23 @@ struct osc_add_user_to_user_group_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The name of the group you want to add a user to.
*/
- char *user_group_name; /* string */
+ char *user_group_name;
/*
* The path to the group. If not specified, it is set to a slash (`/`).
*/
- char *user_group_path; /* string */
+ char *user_group_path;
/*
* The name of the user you want to add to the group.
*/
- char *user_name; /* string */
+ char *user_name;
/*
* The path to the user. If not specified, it is set to a slash (`/`).
*/
- char *user_path; /* string */
+ char *user_path;
};
struct osc_accept_net_peering_arg {
@@ -13765,11 +14034,11 @@ struct osc_accept_net_peering_arg {
* the action.
*/
int is_set_dry_run;
- int dry_run; /* bool */
+ int dry_run;
/*
* The ID of the Net peering you want to accept.
*/
- char *net_peering_id; /* string */
+ char *net_peering_id;
};