private boolean isTaggableViaInstanceOperations(Model model, ResourceShape resource) {
        TaggableTrait taggableTrait = resource.expectTrait(TaggableTrait.class);
        if (taggableTrait.getApiConfig().isPresent()) {
            TaggableApiConfig apiConfig = taggableTrait.getApiConfig().get();
            boolean tagApiVerified = false;
            boolean untagApiVerified = false;
            boolean listTagsApiVerified = false;

            Optional<OperationShape> tagApi = resolveTagOperation(apiConfig.getTagApi(), model);
            if (tagApi.isPresent()) {
                tagApiVerified = TaggingShapeUtils.isTagPropertyInInput(
                        Optional.of(tagApi.get().getId()),
                        model,
                        resource)
                        && verifyTagApi(tagApi.get(), model);
            }

            Optional<OperationShape> untagApi = resolveTagOperation(apiConfig.getUntagApi(), model);
            if (untagApi.isPresent()) {
                untagApiVerified = verifyUntagApi(untagApi.get(), model);
            }

            Optional<OperationShape> listTagsApi = resolveTagOperation(apiConfig.getListTagsApi(), model);
            if (listTagsApi.isPresent()) {
                listTagsApiVerified = verifyListTagsApi(listTagsApi.get(), model);
            }

            return tagApiVerified && untagApiVerified && listTagsApiVerified;
        }
        return false;
    }
Validates that service satisfies the AWS tagging requirements.
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/tagging/TaggableResourceValidator.java