There is no example code available that shows how to create banner ad. However, you may use the AddExpandedTextAds.java (Java client library example code) as a reference to create an ImageAd or use any Template Ads available in the API. Please follow these steps to help you get started:
a. create the ImageAd object; required fields can be seen in the doc.
b. create the Image object. Please consider the image requirements when creating the Image object. Set this image to the ImageAd created in step a.
c. set the ImageAd as the ad of the AdGroupAd, then do the AdGroupAdService.mutate operation.
The AddHtml5Ad.java (Java client library example code) can also be used as a reference when dealing with creation of TemplateAds. Available Template Ads are provided in the link above. Other client libraries example codes are available here.
The only field that you can update in an ad is the status field as discussed here. There is no available example code that shows how to update the adGroupAdStatus but you may refer to the below SOAP logs to see how it is being done.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:RequestHeader xmlns:ns1="https://adwords.google.com/api/adwords/cm/v201609" soapenv:mustUnderstand="0">
<ns1:clientCustomerId>YOUR_CLIENT_CUSTOMER_ID</ns1:clientCustomerId>
<ns1:developerToken>YOUR_DEVELOPER_TOKEN</ns1:developerToken>
<ns1:userAgent>YOUR_USER_AGENT</ns1:userAgent>
<ns1:validateOnly>false</ns1:validateOnly>
<ns1:partialFailure>false</ns1:partialFailure>
</ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
<mutate xmlns="https://adwords.google.com/api/adwords/cm/v201609">
<operations>
<operator>SET</operator>
<operand>
<adGroupId>YOUR_ADGROUP_ID</adGroupId>
<ad>
<id>YOUR_AD_ID</id>
</ad>
<status>PAUSED</status>
</operand>
</operations>
</mutate>
</soapenv:Body>
</soapenv:Envelope>
Additionally, If you need to update any other fields, then yes, you need to remove the existing ad and create a new one.