WSDL gap
Issue #239 optional-field audit confirms adgroups add/update only expose the common TEXT_AD_GROUP, DYNAMIC_TEXT_AD_GROUP, and SMART_AD_GROUP subtype paths. Cached WSDL also declares optional subtype blocks such as MobileAppAdGroup, DynamicTextFeedAdGroup, CpmBannerKeywordsAdGroup, CpmBannerUserProfileAdGroup, CpmVideoAdGroup, UnifiedAdGroup, and TextAdGroupFeedParams.
Expected CLI contract
- Audit each WSDL-declared ad group subtype and decide the PR split.
- Add typed --type values and explicit flags for supported subtype fields.
- Preserve per-type incompatible-flag rejection so unused subtype flags cannot be silently dropped.
- Keep canonical CLI syntax typed and single-line; no --json.
- Add dry-run tests and WSDL/audit coverage for each subtype added.
Verification
- direct adgroups add --type MOBILE_APP_AD_GROUP ... --dry-run
- direct adgroups update --id 1 --type DYNAMIC_TEXT_FEED_AD_GROUP ... --dry-run
Refs: #239.
WSDL gap
Issue #239 optional-field audit confirms adgroups add/update only expose the common TEXT_AD_GROUP, DYNAMIC_TEXT_AD_GROUP, and SMART_AD_GROUP subtype paths. Cached WSDL also declares optional subtype blocks such as MobileAppAdGroup, DynamicTextFeedAdGroup, CpmBannerKeywordsAdGroup, CpmBannerUserProfileAdGroup, CpmVideoAdGroup, UnifiedAdGroup, and TextAdGroupFeedParams.
Expected CLI contract
Verification
Refs: #239.