docs: public void marshall(Layer layer, ProtocolMarshaller protocolMarshaller) {
  
          if (layer == null) {
              throw new SdkClientException("Invalid argument passed to marshall(...)");
          }
  
          try {
              protocolMarshaller.marshall(layer.getArn(), ARN_BINDING);
              protocolMarshaller.marshall(layer.getStackId(), STACKID_BINDING);
              protocolMarshaller.marshall(layer.getLayerId(), LAYERID_BINDING);
              protocolMarshaller.marshall(layer.getType(), TYPE_BINDING);
              protocolMarshaller.marshall(layer.getName(), NAME_BINDING);
              protocolMarshaller.marshall(layer.getShortname(), SHORTNAME_BINDING);
              protocolMarshaller.marshall(layer.getAttributes(), ATTRIBUTES_BINDING);
              protocolMarshaller.marshall(layer.getCloudWatchLogsConfiguration(), CLOUDWATCHLOGSCONFIGURATION_BINDING);
              protocolMarshaller.marshall(layer.getCustomInstanceProfileArn(), CUSTOMINSTANCEPROFILEARN_BINDING);
              protocolMarshaller.marshall(layer.getCustomJson(), CUSTOMJSON_BINDING);
              protocolMarshaller.marshall(layer.getCustomSecurityGroupIds(), CUSTOMSECURITYGROUPIDS_BINDING);
              protocolMarshaller.marshall(layer.getDefaultSecurityGroupNames(), DEFAULTSECURITYGROUPNAMES_BINDING);
              protocolMarshaller.marshall(layer.getPackages(), PACKAGES_BINDING);
              protocolMarshaller.marshall(layer.getVolumeConfigurations(), VOLUMECONFIGURATIONS_BINDING);
              protocolMarshaller.marshall(layer.getEnableAutoHealing(), ENABLEAUTOHEALING_BINDING);
              protocolMarshaller.marshall(layer.getAutoAssignElasticIps(), AUTOASSIGNELASTICIPS_BINDING);
              protocolMarshaller.marshall(layer.getAutoAssignPublicIps(), AUTOASSIGNPUBLICIPS_BINDING);
              protocolMarshaller.marshall(layer.getDefaultRecipes(), DEFAULTRECIPES_BINDING);
              protocolMarshaller.marshall(layer.getCustomRecipes(), CUSTOMRECIPES_BINDING);
              protocolMarshaller.marshall(layer.getCreatedAt(), CREATEDAT_BINDING);
              protocolMarshaller.marshall(layer.getInstallUpdatesOnBoot(), INSTALLUPDATESONBOOT_BINDING);
              protocolMarshaller.marshall(layer.getUseEbsOptimizedInstances(), USEEBSOPTIMIZEDINSTANCES_BINDING);
              protocolMarshaller.marshall(layer.getLifecycleEventConfiguration(), LIFECYCLEEVENTCONFIGURATION_BINDING);
          } catch (Exception e) {
              throw new SdkClientException("Unable to marshall request to JSON: " + e.getMessage(), e);
          }
      }